AI Web Scraper: Structured Data from Any URL
Pricing
from $10.00 / 1,000 page extracteds
AI Web Scraper: Structured Data from Any URL
Describe what you want in plain English and get it back as JSON from any list of web pages: products, prices, contacts, listings, events. No selectors, no code. Pay per page.
Pricing
from $10.00 / 1,000 page extracteds
Rating
0.0
(0)
Developer
DTK Foundry
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
AI Web Page Extractor: Structured Data from Any URL
Describe what you want in plain English, give it a list of web pages, and get the matching items back as clean JSON or CSV: products and prices, quotes, job posts, events, contacts, table rows. No CSS selectors, no code, nothing to fix when a site changes its layout.
- Plain-English prompts. "every book: title, price, star rating and the link to its page".
- One record per page, items nested, plus a CSV link with one row per item.
- Reads what the page shows, including links, image alt text, and ratings shown only as icons or
classes (e.g.
star-rating Three). - Pay per page, 3x below the usual price. Pages that fail or where nothing matched are never charged.
- Text-only mode: leave the prompt empty to get each page's clean text (cheaper, no AI).
Input
| Field | Type | Description |
|---|---|---|
urls | array | Pages to read, one per line. Empty = a free format example. |
prompt | string | What to extract, in plain English. Empty = clean page text instead. |
maxItemsPerPage | integer | Upper limit on items per page (default 100, max 500). |
{"urls": ["https://books.toscrape.com/", "https://books.toscrape.com/catalogue/page-2.html"],"prompt": "every book: title, price, star rating (1-5) and the link to its page","maxItemsPerPage": 100}
Output (one record per page)
{"url": "https://books.toscrape.com/","status": "ok","title": "All products | Books to Scrape - Sandbox","itemCount": 20,"items": [{"title": "A Light in the Attic", "price": "£51.77", "starRating": 3,"url": "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html"},{"title": "Tipping the Velvet", "price": "£53.74", "starRating": 1,"url": "https://books.toscrape.com/catalogue/tipping-the-velvet_999/index.html"}],"truncated": false,"fetchedAt": "2026-10-20T15:20:11+00:00"}
status is ok, no-items (the page loaded but nothing matched: not charged) or failed (with an
error: not charged). Use the Items (CSV) output link for one row per item.
Tested on 2026-10-20 on five public pages (book catalog, quotes, Hacker News front page, Python events, a Wikipedia table): every page extracted, 6 to 30 items each.
Pricing
Pay per event, no subscription.
| Event | Price | When it is charged |
|---|---|---|
| Page extracted | $0.01 | Once per page, when at least one item came back. 1,000 pages = $10. |
| Page text | $0.002 | Once per page in text-only mode (no prompt). |
Failed pages and pages with no matching items are never charged. Set a maximum charge in the run options and the actor stops before it would go over. Apify's standard run-start event adds $0.00005 per run.
Limits, stated plainly
- Pages are fetched, not rendered. The actor reads the HTML a browser receives, with a real-browser TLS
fingerprint. Sites that build their content with JavaScript after loading, or that sit behind a login or a
bot wall, may return little or nothing; those pages show up as
no-itemsorfailedand are not charged. - One page at a time, no crawling. List every page you want (for example
?page=1...?page=10). - AI extraction can make mistakes. The model is told to copy values exactly and to leave missing values as
null, but spot-check important data. - Very long pages are cut at about 200,000 characters; the record then has
truncated: true. - Apify free plan: up to 5 pages per run (each page costs us an AI call). Paid plans have no cap.
- You are responsible for having the right to extract data from the pages you list.
Privacy
Pages you list are fetched and their text is sent to Anthropic's API (Claude) for extraction only. Nothing is kept after the run except the results in your own dataset. The actor runs with limited permissions and reads nothing else in your account.