Website Scraper API
Turn any public web page into data. Name the fields you want and get them typed, read a page or a PDF as clean Markdown, crawl a whole site, list every URL it has, or take a screenshot. One API key, REST or MCP.
- 1 credit per call
- Failed calls are free
- Updated
A tool for each job
Send a public URL, get JSON back. Each tool has its own page with a real response, every input and code.
- Website Scraper API Capture Page API Capture one public webpage or content URL and return clean, reader-ready Markdown for HTML (title, headings, text, links, images and tables), plus exact content for PDF, DOCX, XLSX, CSV, JSON, XML and feeds. 1 credit
- Website Scraper API Extract Page API Capture one public webpage or supported content URL and return data shaped by a caller-provided JSON Schema or fields shorthand. 1 credit
- Website Scraper API Crawl Site API Crawl site from Website Scraper API, as JSON. 1 credit
- Website Scraper API Map Site API Lists page URLs by default, with sitemap-discovered scripts, styles, fonts, images, media and downloadable files available behind include_assets so they never consume the URL budget. 1 credit
What teams build with it
-
Data for AI agents and RAG
Give an agent or a search index clean Markdown of any page, PDF or docs site, ready to chunk and embed.
-
Structured data from any site
Name the fields, such as price, stock or team size, and get them from pages no ready-made scraper covers.
-
Site audits and monitoring
List every URL a site publishes, crawl it on a schedule, and keep screenshots of what changed.
-
Archiving and evidence
Keep screenshots and self-contained copies of pages, as they looked on the day.
How the website tools behave
- Honest failuresA page that is blocked, empty or gone fails with its reason, and a failed call costs nothing. You never get an empty page as a success.
- Robots rules respectedCrawls and maps follow a site's robots.txt by default and stay on the site you start from.
- Big jobs in slicesLong crawls and big maps return a token or cursor; send it back to continue where the last call stopped.
- Pages that need JavaScriptPages that only show their content after scripts run are opened in a real browser.
Call it from your code, or ask your agent
One request shape for every tool: the endpoint ID and its input. No SDK needed.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "web.page.capture", "input": { "url": "https://example.com/" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "web.page.capture", "input": { "url": "https://example.com/" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "web.page.capture", "input": { "url": "https://example.com/" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
Website scraper API FAQ
The short answers. The docs have the long ones.
Which sites does it work on?
Any public page a visitor can open without logging in: web pages, PDFs, spreadsheets, CSV, JSON and feeds.
How much does it cost?
1 credit per successful call for each tool, shown before it runs. You buy credits once, with no subscription, and paid credits never expire. New accounts get free credits to try it.
Does it use AI?
Only if you allow it. Extraction reads what the page states first; with ai set to auto or always, AI fills the fields the page does not state plainly.
Can it read PDFs and spreadsheets?
Yes. Page capture reads PDF, DOCX, XLSX, CSV, JSON, XML and feeds as well as web pages, and returns their text, Markdown and tables.
When should I use a platform endpoint instead?
For sites Upscrape has a ready-made endpoint for, such as Amazon or Google Maps, use that endpoint: its fields are fixed and tested. The website tools cover every other public site.
Can an AI agent use these tools?
Yes. Connect any MCP client to the Upscrape MCP server with OAuth or an API key. The agent picks the tool, checks its price and runs it with the same credits as the REST API.
Your first page is free.
Up to 100 free credits to start, no card needed.