Bulk Article Extractor: Full Text from a CSV, Sheet or Dataset
Pricing
from $1.40 / 1,000 articles
Bulk Article Extractor: Full Text from a CSV, Sheet or Dataset
Returns full text, title, author, date, publisher, image and tags for every article linked in an Apify dataset, CSV, Excel or Google Sheet, keeping your columns. Inputs: datasetId, fileUrl or articleUrls. $0.002 per article extracted; blocked or failed links free. Agent-ready via x402 and MCP.
Pricing
from $1.40 / 1,000 articles
Rating
0.0
(0)
Developer
Adam Pearce
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Got a list of news or blog links and need the actual stories? Point this Actor at a Google News scraper's dataset, an RSS export, a CSV or a Google Sheet, and every row comes back with the full article text, headline, author, publish date, publisher, image, tags and word count, next to your own columns.
Most article extractors only take a typed-in list of URLs and hand back a separate table you then have to match up again. This one reads the list you already have, finds the link column on its own, and keeps everything you had.
What you can do with it
- News monitoring: run a Google News or RSS scraper every morning, feed its dataset in here, and get the full text of every new story about your brand, competitors or market. Turn on Only new links and you pay only for stories you have not seen before.
- Feed an LLM or a RAG pipeline: choose Markdown output and get clean text with headings, lists and links kept, and no menus, cookie banners or ads.
- Content research: pull 500 competitor blog posts from a sitemap export into one sheet with titles, authors, dates and word counts.
- Media lists and PR reports: who wrote what, when, for which outlet, from a list of coverage links.
Example output
One row per link (your own columns, such as headline and source below, are kept):
{"headline": "tea","source": "https://techcrunch.com","rowNumber": 1,"url": "https://techcrunch.com/2026/10/17/embers-new-temperature-controlled-mug-makes-my-nightly-tea-ritual-even-better/","extractStatus": "ok","title": "Ember's new temperature-controlled mug makes my nightly tea ritual even better","author": "Lauren Forristal","authors": ["Lauren Forristal"],"publishedAt": "2026-10-17T15:30:00.000Z","siteName": "TechCrunch","publisher": "TechCrunch","section": "Hardware","tags": ["Ember"],"language": "en-US","imageUrl": "https://techcrunch.com/wp-content/uploads/2026/10/Ember_Table-with-Phone-Dark-Black-10oz_030326.png?w=1200","wordCount": 660,"readingTimeMinutes": 3,"paywalled": false,"looksLikeArticle": true,"pageType": "NewsArticle","text": "With the nights getting chillier, I've been reaching for a cup of tea more ...","statusDetail": null}
Every row has an extractStatus, so you always know why a link did or did not return a story:
| Status | Meaning | Charged? |
|---|---|---|
ok | Article text returned | Yes, once |
paywall_preview | The publisher marks it subscriber-only and served only a short preview. The preview is included | No |
too_short | Under the minimum word count: a video, gallery or app page | No |
blocked | The site's bot protection refused the request | No |
robots_disallowed | The site's robots.txt asks tools not to read this page | No |
http_error, unreachable, timeout, not_html, too_large, invalid_url, no_url | The link could not be read as a web page | No |
duplicate | Same link as an earlier row in this run (tracking tags like utm_source ignored), so it was not fetched again | No |
skipped_seen | Already extracted in an earlier run (Only new links) | No |
How it reads an article
- The page is downloaded the way a normal browser would request it. No headless browser, so it is fast and cheap.
- The main story is found with Mozilla Readability, the engine behind Firefox Reader View, which strips navigation, footers, related links and ads.
- Author, dates, publisher, section, tags and image come from the publisher's own structured data (JSON-LD and Open Graph tags) wherever the page has it, and only then from the visible byline.
paywalledis true only when the publisher itself marks the article as not free. We never guess.
Pricing
Pay per event, no subscription:
| Event | Price |
|---|---|
Article extracted (ok rows only) | $0.002 |
| Residential proxy, per article returned (only if you turn it on) | $0.01 |
| CSV or Excel export file (only when the run extracted at least one article) | $0.01 per file |
| Webhook delivered (2xx only) | $0.005 |
Examples: 1,000 articles cost $2. A daily monitor that finds 50 new stories a day costs about $3 a month, because with Only new links on, the stories it already has are skipped for free. Blocked links, paywall previews, duplicates and failed links are never charged.
Input
Give it one of:
- Dataset: the output of another Actor, picked from the list.
- File or Google Sheet URL: CSV, TSV, Excel, JSON or JSON Lines. A normal Google Sheets share link works when the sheet is set to "Anyone with the link can view".
- Article URLs: a plain list, for a quick test.
- Rows: inline JSON.
The link column is found automatically (url, link, articleUrl and similar, preferring links that have a real path over publisher homepages). Set Article URL field to choose it yourself.
Useful options: Text output (plain, plus Markdown, plus cleaned HTML, or metadata only), Minimum words, Only new links with a memory name per feed, Which rows to keep, CSV or Excel export, a named dataset to build a growing archive, and a webhook for Slack, Zapier, Make or n8n.
Use it from an AI agent
The Actor is pay per event with limited permissions, so AI agents can call it through Apify's MCP server or pay per run through x402. Pass articleUrls (a list of links) or datasetId; read text, title, author and publishedAt from the results, and check extractStatus before using a row.
FAQ
Will it work on every news site?
Most news sites, blogs and company newsrooms, yes. A few very large publishers block all automated readers whatever you do; those rows come back blocked and cost nothing. A proxy only helps when a site blocks by address or country, not when it checks the browser itself.
Does it get around paywalls?
No. It reads what the publisher serves to a normal visitor. When a subscriber-only article serves just a short preview, you get the preview free, marked paywall_preview.
Is this legal? It reads publicly available pages, one link at a time, at most two at once per site, and honours robots.txt by default. What you do with the text is up to you: the articles belong to their publishers, so check your use (summaries, monitoring, research and internal analysis are the usual ones).
Why is my dataset in a different order?
Rows are saved as each site answers, so a slow site does not hold up the rest. Every row carries rowNumber, its position in your input, to sort by.
Can it find the article links for me? No, it reads links you already have. Pair it with a Google News, RSS or sitemap scraper, and with our Dataset Filter & Transform to tidy the results.
If this saved you copying articles out by hand, a short review on the Apify Store helps a lot. Questions or a site that should work and does not? Open an issue on the Issues tab and we will look at it the same day.