Article Text Extractor | News and Blog API avatar

Article Text Extractor | News and Blog API

Pricing

from $20.00 / 1,000 results

Go to Apify Store
Article Text Extractor | News and Blog API

Article Text Extractor | News and Blog API

Extract readable text and available metadata from public news articles and blog posts. Export titles, authors, dates, images, summaries, and keywords for content research and downstream analysis. Start with a known article URL and review a small sample before processing a larger list.

Pricing

from $20.00 / 1,000 results

Rating

1.0

(1)

Developer

Xtech

Xtech

Maintained by Community

Actor stats

4

Bookmarked

89

Total users

3

Monthly active users

4 days ago

Last modified

Share

Collect readable article text and available metadata from public news and blog URLs. Export titles, authors, dates, images, summaries and keywords for research or downstream processing. Metadata and summaries can be missing, and protected pages may not be extractable. Start with the published one-article example, check the output on your target sites, and then increase the URL list.

Best first run: open the Article Text Extractor, run the content-research example with one URL and a $0.03 cap, then add more URLs only after checking the returned text and metadata.

Start with one article

Open the public content-research example to extract one known blog article with a $0.03 run cap. Review the text and available metadata before adding more URLs. The current base rate is $0.02 per successful article ($20 per 1,000), plus $0.00005 per start event per GB of memory (minimum one). The example uses 2 GB, so one successful article plus start events is $0.0201 at this rate. Failed extraction diagnostics are stored separately and do not create a paid article result. Check the Pricing tab for current rates.

For API clients, use the same bounded first run and pass the charge cap as a run parameter:

curl -X POST "https://api.apify.com/v2/acts/xtech~article-extractor/runs?token=$APIFY_TOKEN&maxTotalChargeUsd=0.03" \
-H "Content-Type: application/json" \
-d '{"startUrls":[{"url":"https://blog.apify.com/what-is-web-scraping/"}],"language":"en","requestTimeout":30,"maxConcurrency":1,"maxRetries":1,"fetchImages":false}'

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
  • Select article language, request timeout, and image metadata options
  • Save successfully extracted articles in the default dataset and failed-attempt diagnostics separately in errorResults

Input

Provide one or more article URLs in startUrls.

{
"startUrls": [
{ "url": "https://blog.apify.com/what-is-web-scraping/" }
],
"language": "en",
"requestTimeout": 30,
"fetchImages": 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.
fetchImagesbooleanInclude available article image URLs. The Actor stores image URLs, not image files.

The form manages concurrency, retries, User-Agent, and proxy routing automatically. Existing API clients can still supply maxConcurrency, maxRetries, browserUserAgent, and proxyConfiguration; their defaults and explicit proxy choices remain supported.

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"
}
]

With current pay-per-event pricing, failed URLs go to the separate errorResults dataset with articleURL, scrapeSuccess: false, scrapeErrorMessage, and scrapedAt. If at least one URL succeeds, the run can finish SUCCEEDED with useful articles saved and failures reported separately. If every valid URL fails, the Actor marks the run FAILED after writing diagnostic rows. Each run also writes RUN_SUMMARY with requested, extracted, saved, failed, all-failed, billing-mode, and spending-limit fields.

Only successfully extracted article rows enter the billable default dataset. Failed URLs and spending-limit diagnostics in errorResults are not charged as article results. The run-start event still applies; check the Pricing tab for current rates.

On Apify cloud, the residential-proxy fallback applies only when no proxy configuration is supplied. Explicitly disabled proxies, selected Apify groups, and custom proxy URLs are respected.

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.

Proxy settings

An explicit proxy choice is respected: disable proxies with {"proxyConfiguration":{"useApifyProxy":false}}, select the Apify groups available to your account, or supply your custom proxy URLs. If no proxy configuration is supplied on the cloud, the existing residential-proxy fallback applies. Start with a public page that works directly before using proxies for sites that need them. Proxy settings cannot guarantee complete extraction from protected or dynamic pages.