News and Blog Article Extractor: Clean Text, Author, Date
Pricing
from $2.00 / 1,000 articles
News and Blog Article Extractor: Clean Text, Author, Date
Paste news or blog URLs, or a section page, RSS feed or sitemap to discover them. Get one row per article: clean text, Markdown or HTML, author, publish and update dates, title, site name, language, tags, lead image and word count. Reads JSON-LD and OpenGraph. No browser, no login.
Pricing
from $2.00 / 1,000 articles
Rating
0.0
(0)
Developer
Plainsource
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Security
Limited permissionsShare
This Actor turns news and blog URLs into clean article data. For every link you give it, you get the article text (plain text, Markdown or HTML), the headline, author names, publish and update dates, site name, language, tags, lead image and word count. You can also give it a section page, an RSS feed or a sitemap and it finds the article links itself. It reads the page's JSON-LD and OpenGraph data first and uses Mozilla Readability for the body text. No browser, no login, no API key.
- Metadata from structured data first. Dates, authors, tags and the article type come from JSON-LD (NewsArticle, BlogPosting, Article), OpenGraph and meta tags, with the visible page as a fallback.
- Three body formats. Plain text with paragraph breaks, Markdown with absolute links, or cleaned HTML. Pick any combination.
- Pages that are not articles are dropped. Home pages, section pages, tag pages and link lists are skipped and not charged. The reason for each is written to the
SUMMARYrecord. - Find articles on a section. Give a blog home, a news section, an RSS or Atom feed, or a sitemap, and set how many articles you want.
- Paywall flag. When the page markup says the article is not free,
isPaywalledis true and you get whatever text is public in the HTML.
What data you get
| Field | What it holds |
|---|---|
url, inputUrl, canonicalUrl | Final address after redirects, the link you gave, and the canonical address the site declares |
title | Headline, without the site name suffix |
authors, author | Author names as a list and joined with commas |
publishedAt, modifiedAt | ISO 8601 dates when the page declares them |
siteName, language | Publication name and language code |
description, section, tags | Summary, section or category, keywords |
articleType | The JSON-LD type, for example NewsArticle or BlogPosting (null when the page has none) |
isPaywalled | True only when the markup says the article is not free |
wordCount, readingTimeMinutes | Length of the extracted text and reading time at 230 words per minute |
leadImage, images | Main image, and the images inside the article with alt text and captions |
text, markdown, html | The article body in the formats you selected |
discoveredFrom | The section, feed or sitemap the article was found on (null for URLs you gave) |
How to use it
- Paste article URLs into Article URLs.
- Optional: add a section page, RSS feed or sitemap to Find articles on these pages, and set Max articles per section.
- Choose the body formats you want and whether to include images.
- Run it and export to JSON, CSV or Excel, or call it from the API, Make, Zapier, n8n, LangChain or an AI agent through the Apify MCP server.
A feed or sitemap URL also works inside Article URLs; the Actor notices it is not a page and follows its links. Discovery looks at the first page of a section (plus up to three further pages when the site marks a next page). For a deep archive, use the sitemap URL instead.
Example input
{"urls": ["https://www.theguardian.com/world/2026/nov/01/ukraine-defies-trump-resumes-attacks-russian-oil"],"discoveryUrls": ["https://blog.cloudflare.com/rss/"],"maxArticlesPerSection": 2,"outputFormats": ["text", "markdown"],"includeImages": true}
Example output (one article, text and Markdown shortened)
{"url": "https://www.theguardian.com/world/2026/nov/01/ukraine-defies-trump-resumes-attacks-russian-oil","inputUrl": "https://www.theguardian.com/world/2026/nov/01/ukraine-defies-trump-resumes-attacks-russian-oil","canonicalUrl": "https://www.theguardian.com/world/2026/nov/01/ukraine-defies-trump-resumes-attacks-russian-oil","title": "Ukraine defies Trump to resume attacks on Russian oil refineries","authors": ["Luke Harding"],"author": "Luke Harding","publishedAt": "2026-11-01T17:20:18.000Z","modifiedAt": "2026-11-02T05:30:55.000Z","siteName": "the Guardian","language": "en","description": "Kremlin says Kyiv is simply ignoring US wishes days before midterm elections after reported strikes on two oil sites","section": "World news","tags": ["Ukraine", "Russia", "Donald Trump", "Trump administration"],"articleType": "NewsArticle","isPaywalled": false,"wordCount": 789,"readingTimeMinutes": 3,"leadImage": "https://i.guim.co.uk/img/media/e521bd30aafd13837c587fdc1c0f6c632ad8d0fd/1585_152_2231_1784/master/2231.jpg","images": [{"url": "https://i.guim.co.uk/img/media/a68d2e8389b9569e2e5cd62f5e1673e2636d6a1f/2318_0_7612_6090/master/7612.jpg","alt": "A satellite image shows smoke rising from the Novokuybyshevsk oil refinery","caption": "A satellite image shows smoke rising from the Novokuybyshevsk oil refinery in the Samara region of Russia after a reported Ukrainian drone attack on Friday."}],"text": "Ukraine has resumed its attacks on Russian oil refineries in defiance of pressure from Donald Trump ahead of the US midterm elections, as a ceasefire in the occupied town of Oleshky ended on Sunday night.\n\nRussian state media said on Sunday Ukrainian long-rang...","markdown": "Ukraine has resumed its attacks on Russian oil refineries in defiance of pressure from [Donald Trump](https://www.theguardian.com/us-news/donaldtrump) ahead of the US midterm elections...","discoveredFrom": null,"scrapedAt": "2026-11-02T07:55:03.703Z"}
Image URLs and text are shortened here. The real output holds the full values.
How much does it cost?
You pay $0.002 per article saved to the dataset, plus a one-time start fee of $0.0005 per run. URLs that fail to load or turn out not to be articles save nothing and cost nothing.
| Articles | Cost |
|---|---|
| 100 | $0.20 |
| 1,000 | $2.00 |
| 10,000 | $20.00 |
(The start fee of $0.0005 is added once per run.)
Use cases
- AI and RAG pipelines. Feed clean article Markdown into a vector store or an LLM without navigation, ads and cookie banners.
- Media monitoring. Take the links from an alert or a feed and get the full text, author and date for each one.
- Research and archiving. Save articles with their publish date, update date and canonical URL.
- Content analysis. Compare word counts, tags and publish times across publications.
- Newsletter and digest building. Pull the headline, summary, lead image and reading time for a list of stories.
FAQ
Does it work on any site? It works on pages whose article text is in the HTML the server sends. Pages that build their content with JavaScript after loading (some single-page apps) return little or nothing and are skipped as non-articles. For those, use an RSS feed or sitemap to discover them, or a browser-based scraper.
Why did a URL I gave return no row? The Actor decided it was not an article: a home page, a section page, a page with very little text, or a page that is mostly links. The reason is in the SUMMARY record in the run's key-value store. Pages with no article markup need at least Minimum words (120 by default) of readable text and a date, an author or several running paragraphs. A real article that is mostly a list of links can be skipped by mistake.
What about paywalls? The Actor does not log in and does not bypass paywalls. It returns the text that is in the public HTML, usually the opening paragraphs. isPaywalled is true when the page's markup (isAccessibleForFree false) says so; a paywall that is not declared in the markup is not detected.
Some sites return HTTP 403. Large publishers often block data center addresses. Turn on Apify Proxy in the input (residential proxy works best). In my tests from a home connection, nytimes.com, ft.com, economist.com and theatlantic.com answered 403; I did not test them through a proxy.
Are authors always filled in? Only when the site publishes them in its markup or the visible byline can be read. Some blogs publish no author data, and then authors is empty.
How are dates formatted? As ISO 8601 in UTC. A date without a time stays date-only. Dates the page does not declare are null.
How does discovery pick links? It reads the page's links on the same site, drops navigation, tag, author and login links, and ranks the rest by how much they look like articles (date in the path, a long slug, a headline as link text). It checks them in that order until it has the number of articles you asked for. For a section it also reads the site's RSS feed when the page links to one.
Does it respect robots.txt? No. It fetches the pages you point it at, like a browser would. You are responsible for using the content in line with the site's terms and copyright.
Other Actors by this developer
- Google News RSS Scraper: find news stories by keyword, then pass the links here for the full text.
- Sitemap URL Extractor: list every URL in a site's sitemap.
- Document to Markdown: convert PDFs, Word and other files to Markdown.
- Hacker News Scraper: collect stories and links, then extract the articles they point to.
- Website Contact Extractor: emails, phone numbers and social links from a site.