News Article Extractor: Full Text, Author, Date & Metadata
Pricing
$2.00 / 1,000 article extracteds
News Article Extractor: Full Text, Author, Date & Metadata
Paste article URLs or RSS feeds and get clean full text plus headline, authors, publish date, publisher, keywords and image from JSON-LD and OpenGraph. Built by Physea Labs (Liminal). Launch Sale: 90% OFF for the first week. $0.002 per article.
Paste article links or RSS feeds and get each story as clean text with its headline, authors, publish and update dates, publisher, section, keywords and lead image. Related links, share buttons, newsletter boxes and ads are removed.
🚀 Launch Sale: 90% OFF for the first week! Prices below are the regular rates; launch-week runs are billed at a tenth of them.
What can it do?
| What you get | Features |
|---|---|
| 📰 Full article text, paragraphs and subheadings kept | ⚡ Plain HTTP, no browser: 4 articles in under a second |
| 👤 Authors, publish date, modified date, publisher | 🧠 Metadata from JSON-LD NewsArticle, OpenGraph and meta tags |
| 🏷️ Section, keywords, lead image, language, paywall flag | 📡 RSS / Atom feeds expanded into their newest articles |
Who this is for
- Media monitoring and PR clipping with real publish dates
- Feeding news into LLM summaries, sentiment or RAG
- Research datasets of articles from a list of outlets
- Newsletters and digests built from RSS feeds
What you get back
| Field | Type | What you get | Example |
|---|---|---|---|
title | string | Headline | Zuckerberg wins Meta deal... |
authors | array | Author names | ["Dearbail Jordan", "Kali Hays"] |
published_at | string | Publish date (ISO 8601 as published) | 2026-10-22T16:16:49.796Z |
publisher | string | Outlet name | BBC News |
text | string | Clean article text | Meta has agreed to a new deal... |
word_count | integer | Words in the text | 844 |
reading_time_min | integer | Minutes at 230 wpm | 4 |
keywords | array | Tags / keywords | ["Programming"] |
image | string | Lead image URL | https://.../image.png |
status | string | ok or error | ok |
Every run also writes RUN_SUMMARY.json to the key-value store (counts, spend-limit flag, pricing).
What you need to provide
| Field | Type | What it does | Example |
|---|---|---|---|
articleUrls | array | Links to news stories or blog posts. | [{"url": "https://blog.apify.com/what-is-web-scraping/"}] |
feedUrls | array | Feed URLs; the newest articles in each feed are extracted. | ["https://feeds.bbci.co.uk/news/technology/rss.xml"] |
maxArticlesPerFeed | integer | Newest N items taken from each feed. | 3 |
maxArticles | integer | Hard cap across URLs and feeds. | 100 |
includeHtml | boolean | Add the page's raw HTML to each row (large). | false |
maxConcurrency | integer | Articles fetched at the same time. | 5 |
Quick start
- Click Try for free.
- Press Start: the sample input finishes in under a minute with no API keys or setup.
- Replace the sample with your own values and run again.
- Open the dataset, or export it as JSON, CSV or Excel.
Pricing
🚀 Launch Sale: 90% OFF for the first week!
article-extracted: $0.002 per article with readable text ($2 per 1,000 articles).- Failed, paywalled and empty pages are not charged.
- Set a max cost per run in the run options and the run stops cleanly when it hits it.
- Normal Apify platform usage applies.
Limits and honest notes
- Pages are fetched without a browser. Hard paywalls and JavaScript-only sites return an
errorrow and are not charged. - Text is extracted heuristically; very unusual layouts may include a stray caption or miss a sidebar quote.
- Dates and authors are as the publisher declares them.
- No other Apify actor is called: everything is collected in-house over plain HTTP.
Run it from code
Same input as the Console sample:
{"articleUrls": [{"url": "https://blog.apify.com/what-is-web-scraping/"}],"feedUrls": ["https://feeds.bbci.co.uk/news/technology/rss.xml"],"maxArticlesPerFeed": 3}
curl -X POST "https://api.apify.com/v2/acts/physealabs~news-article-extractor/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" -d @input.json
from apify_client import ApifyClientitems = ApifyClient("YOUR_APIFY_TOKEN").actor("physealabs/news-article-extractor").call(run_input={"articleUrls": [{"url": "https://blog.apify.com/what-is-web-scraping/"}], "feedUrls": ["https://feeds.bbci.co.uk/news/technology/rss.xml"], "maxArticlesPerFeed": 3})
It also works from Zapier, Make, n8n and Apify schedules.
About Physea Labs · Liminal
Built and maintained by Physea Labs: the same extraction layer that feeds Liminal, our grounded research and decision engine. If it is good enough to feed Liminal's citations, it is good enough for your pipeline.