Article Content Extractor

Extract article bodies, bylines, publish dates, excerpts, and hero images from public news, blog, newsroom, and press URLs. Use it as a bounded source step for research, content QA, and RAG ingestion — not as a ranking tool or a full-site crawler. For docs, pricing, policy, product, and help-center pages, use Website Content Extractor.

Open Article Content Extractor on Apify

Articles versus site pages

Use this page when the URLs are article-shaped: news, blog, newsroom, or press. Use Website Content Extractor when the URLs are broader site pages that are not article-shaped.

Article Content Extractor Website Content Extractor
Intent Parse news, blog, newsroom, and press article pages Clean docs, product, pricing, policy, and help-center HTML
Max URLs 300 per run 200 per run
Output format markdown (default) or text — no HTML emit markdown (default), text, or html
Sample row article web_content
Optional extras includeImages, generateReport, emitExport includeMetadata, maxChargeUsd

Neither Actor is a ranking tool, a full-site crawler, or a claim of publisher endorsement. Fetch public HTTP(S) URLs you own or are authorized to audit. Do not imply content ownership transfer.

Use cases

Route docs, pricing, policy, product, and help-center pages to Website Content Extractor. This Actor is for article-shaped pages (max 300 URLs).

Low-cost article extraction

The default path keeps raw article rows. generateReport and emitExport stay false unless you need those value events. outputFormat defaults to markdown. includeImages defaults to true.

{
  "urls": [
    "https://example.com/news/example"
  ],
  "outputFormat": "markdown",
  "includeImages": true,
  "delivery": "dataset",
  "dryRun": false
}

Published output fields: rowType, url, headline, author, publishedAt, articleText, excerpt, heroImage, and sourceUrl. Sample rowType is article. README sample (placeholder article data):

{
  "meta": {
    "actorName": "article-content-extractor",
    "actorTitle": "Article Content Extractor",
    "bundle": "Site QA & Content Intelligence Pack",
    "fetchedAt": "2026-05-06T00:00:00.000Z",
    "totalRows": 1
  },
  "rows": [
    {
      "actorName": "article-content-extractor",
      "rowType": "article",
      "url": "https://example.com/news/example",
      "headline": "Example Headline",
      "author": "Example Author",
      "publishedAt": "2026-05-06",
      "articleText": "Example article body.",
      "sourceUrl": "https://example.com/news/example",
      "fetchedAt": "2026-05-06T00:00:00.000Z"
    }
  ],
  "warnings": []
}

Rows also include fetch timestamps, warnings for partial or changed content, and stable IDs when the workflow supports recurring change detection. Optional inline images when includeImages is true; heroImage can still be returned separately when available.

Run an article extraction on Apify

Content audit report and batch export

Set generateReport to true to emit one article-content-audit-report row when at least one article is usable. Set emitExport to true to emit one article-batch-export row when at least one article is usable. Raw article rows remain source context.

{
  "urls": [
    "https://example.com/blog/post"
  ],
  "generateReport": true,
  "delivery": "webhook",
  "webhookUrl": "https://example.com/webhook",
  "dryRun": false
}

The published Store prices for those value events are $2.50 per content audit report and $5.00 per batch export. Request limits are bounded at 300 URLs, 3 redirects, and 5 MiB per HTML response by default. maxRedirects and maxResponseBytes can be lowered; the runtime never permits more than 10 redirects or 10 MiB.

Generate an article report on Apify

What pages is Article Content Extractor for?

Public news, blog, newsroom, and press URLs. Pass HTTP(S) URLs you own or are authorized to fetch. Maximum 300 URLs per run. Private, loopback, link-local, metadata, reserved, and DNS-resolved private targets are rejected, as are non-HTML responses, excessive redirects, and oversized responses. For docs, pricing, policy, product, and help-center pages, use Website Content Extractor.

What does a result row contain?

Headline, author, publish date, article body, excerpt, hero image when present, source URL, fetch timestamp, and warnings for partial or changed content. Optional inline images when includeImages is true. Sample rowType is article. The published README field list is rowType, url, headline, author, publishedAt, articleText, excerpt, heroImage, and sourceUrl.

How do I start a run?

Open the Actor on the Apify Store and supply a urls list. outputFormat defaults to markdown (text is also available; this Actor does not emit HTML). includeImages defaults to true. delivery defaults to dataset; set webhook plus webhookUrl after the payload shape is useful. dryRun validates without dataset or webhook writes. Published input also includes concurrency (default 5, range 1–10) and timeoutMs (default 15000).

Start a run on Apify

When should I use Website Content Extractor instead?

When the URLs are docs, pricing, policy, product, or help-center pages rather than article-shaped news, blog, or press pages. Website Content Extractor is the broader HTML cleaner; this Actor is specialized for article metadata and body text.

When do a content audit report or batch export emit?

Set generateReport to true to emit one article-content-audit-report row when at least one article is usable. Set emitExport to true to emit one article-batch-export row when at least one article is usable. These are the published value events on this Actor. Raw article rows remain source context.

How is Article Content Extractor priced?

Billing is pay-per-event. The published Store prices are $0.008 per useful article row, $2.50 per article-content-audit-report, and $5.00 per article-batch-export. Actor start is billed as a separate pay-per-event start. Failed or no-content rows stay out of the default dataset. Dry runs, validation-only runs, error-only runs, and no-usable-row recurring polls do not write payable rows. The default dataset is the canonical billable surface.

From $0.008 per useful article row; $2.50 per content audit report

See Article Content Extractor pricing on Apify

How do delivery, webhooks, and dry runs work?

delivery defaults to dataset. A non-dry-run always writes canonical dataset rows first; webhook delivery runs only after dataset and pay-per-event output succeed. A webhook is sent only after dataset billing succeeds and is best effort; a failed webhook is not retried by the Actor and never creates a second charge. dryRun validates input and writes only local output.

Only fetch public HTTP(S) URLs that you own or are authorized to audit. The Actor does not imply content ownership transfer or publisher endorsement.

Open Article Content Extractor on Apify

Related pages