Article Scraper & Content Extractor avatar

Article Scraper & Content Extractor

Pricing

$15.00/month + usage

Go to Apify Store
Article Scraper & Content Extractor

Article Scraper & Content Extractor

Extract clean article text, titles, authors, dates, summaries, images, keywords, and metadata from news articles and blog posts.

Pricing

$15.00/month + usage

Rating

1.0

(1)

Developer

Xtech

Xtech

Maintained by Community

Actor stats

4

Bookmarked

86

Total users

1

Monthly active users

2 days ago

Last modified

Share

Article Extractor

Verified sample: the one-page Apify Blog preset below succeeded on build 0.2.7, saved a complete article row, and used about $0.0055 in platform resources during the validation run.

Extract clean, structured data from news articles and blog posts. This Apify Actor returns article text, title, authors, publication date, summary, image URLs, keywords, meta tags, language, and extraction status for each URL.

It is useful for news monitoring, content research, SEO workflows, data enrichment, and text-analysis pipelines.

Features

  • Extract full article text from article and blog post pages
  • Return titles, authors, publication dates, source URLs, and language
  • Collect summaries, keywords, meta descriptions, and meta keywords when available
  • Capture the main image URL, discovered image URLs, and embedded video URLs when supported by the extractor
  • Process multiple article URLs in one Actor run
  • Configure timeout, language hint, User-Agent, and proxy settings
  • Push one structured dataset item per input URL, including failed attempts with error details

Input

Provide one or more article URLs in startUrls.

{
"startUrls": [
{ "url": "https://blog.apify.com/what-is-web-scraping/" }
],
"language": "en",
"requestTimeout": 30,
"maxConcurrency": 1,
"maxRetries": 1,
"fetchImages": false,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Input fields

FieldTypeDescription
startUrlsarrayDirect article or blog post URLs to extract.
languagestringOptional two-letter language hint such as en, es, de, or fr. Leave empty for automatic detection where possible.
requestTimeoutintegerMaximum time in seconds to wait for each article page. Defaults to 30.
maxConcurrencyintegerNumber of article URLs to process in parallel. Defaults to 3.
maxRetriesintegerRetries for transient request failures such as timeouts, rate limits, and temporary server errors. Defaults to 2.
fetchImagesbooleanInclude available article image URLs. The Actor stores image URLs, not image files.
browserUserAgentstringOptional custom User-Agent header.
proxyConfigurationobjectOptional Apify Proxy or custom proxy configuration for sites that block direct requests.

Output

The Actor returns a JSON dataset with the following fields for each article:

FieldDescription
articleURLInput or resolved article URL.
sourceURLSource website URL when detected.
articleLanguageDetected article language, for example en or es.
articleTitleArticle title.
articleAuthorsArticle authors as an array.
articlePublishDatePublication date when detected.
articleTextClean extracted article text.
articleTopImageMain article image URL when detected.
articleAllImagesImage URLs as an array when available.
articleVideosEmbedded video URLs as an array when available.
articleKeywordsKeywords or categories as an array when available.
articleSummaryExtracted or generated article summary.
articleMetaDescriptionPage meta description when available.
articleMetaKeywordsPage meta keywords as an array when available.
wordCountNumber of words in the extracted article text.
characterCountNumber of characters in the extracted article text.
scrapeSuccesstrue when extraction succeeded, otherwise false.
scrapeErrorMessageError details for failed extractions.
scrapedAtUTC timestamp when the URL was processed.

Example Output

[
{
"articleURL": "https://www.example.com/news/article1",
"sourceURL": "https://www.example.com",
"articleLanguage": "en",
"articleTitle": "Example News Article",
"articleAuthors": ["John Doe", "Jane Smith"],
"articlePublishDate": "2024-07-27T10:00:00Z",
"articleText": "This is the full text of the example news article...",
"articleTopImage": "https://www.example.com/images/article1.jpg",
"articleAllImages": ["https://www.example.com/images/article1.jpg", "https://www.example.com/images/article2.png"],
"articleVideos": [],
"articleKeywords": ["news", "example", "article"],
"articleSummary": "A brief summary of the example news article.",
"articleMetaDescription": "An example article for demonstration.",
"articleMetaKeywords": ["example", "article", "news", "demo"],
"wordCount": 825,
"characterCount": 4920,
"scrapeMethod": "newspaper3k",
"scrapeSuccess": true,
"scrapedAt": "2024-07-27T12:34:56Z"
}
]

Under the current rental model, failed URLs are preserved in the default dataset with articleURL, scrapeSuccess: false, scrapeErrorMessage, and scrapedAt so you can audit which pages need retrying or proxy changes. If at least one URL succeeds, the run finishes SUCCEEDED with partial-failure rows preserved. If every valid URL fails, the Actor marks the run FAILED after writing those rows so an all-blocked or all-timeout run cannot look like a successful empty result. Each run also writes a RUN_SUMMARY key-value record with requested, extracted, saved, failed, all-failed, billing-mode, and spending-limit fields.

The runtime supports both the current rental model and a future pay-per-result model. Under pay per result, only successfully extracted article rows enter the billable default dataset. Failed URLs and spending-limit diagnostics go to the separate errorResults dataset and are never treated as paid results. This compatibility does not itself change the live Store price.

On Apify cloud, Residential proxy is enabled automatically unless you provide custom proxyUrls.

Use cases

  • Monitor news articles, press mentions, and competitor content
  • Build article datasets for research, analysis, or machine learning
  • Enrich URLs with titles, authors, dates, summaries, and clean text
  • Collect SEO metadata from article and blog pages
  • Feed extracted article text into downstream AI, analytics, or database workflows

Pair this Actor with others from the same author for full content pipelines:

Tips

  • Use direct article URLs instead of homepages, category pages, or search result pages.
  • If all URLs fail because of access restrictions, enable Apify Proxy and retry.
  • Increase requestTimeout for slow publishers or long-form pages.
  • Some JavaScript-heavy or paywalled pages may return partial text or fail if the article content is not present in the initial HTML.