Web Scraping API
Fetch a public HTTP or HTTPS page as HTML, links, Markdown, a summary or images. Optional JavaScript rendering, premium mode, sessions, waits and country targeting are available.
Request
curl "https://api.fastaf.co/v1/scrape?url=..." \
-H "Authorization: Bearer YOUR_KEY"Parameters
| Name | Description |
|---|---|
| url | Required. Public HTTP or HTTPS target URL |
| dynamic | Optional boolean. Enable JavaScript rendering; defaults to false |
| js_rendering | Optional alias of dynamic; cannot conflict with dynamic |
| premium | Optional boolean. Enable premium mode |
| challenge_mode | Optional boolean. For pages behind a browser verification check; 10 credits, not combinable with premium, country or dynamic |
| custom_headers | Optional boolean |
| wait | Optional. Wait time from 0 to 35,000 milliseconds; booking.com defaults to dynamic with wait=8000 |
| country | Optional. Country code; priced like premium (10 credits, 25 with dynamic) |
| session_number | Optional. Session identifier |
| image | Optional boolean |
| formats | Optional. html | links | markdown | summary | images; summary adds 10 credits |
| ai_query | Optional. AI extraction query; adds 10 credits |
| ai_extract_rules | Optional. AI extraction rules; adds 10 credits |
| type | Optional. image | pdf | pbf |
Response fields
- html
- links
- markdown
- summary
- images
Guides
- How to read public Booking.com data when your requests fail
Booking.com hiding prices behind JavaScript or captcha? Fetch public hotel pages as Markdown or JSON. API key, MCP or x402.
- How to scrape any website with Python in 2026
A general /scrape workflow: static fetch by default, escalate to JS rendering and premium proxies only when needed, then parse with BeautifulSoup.
- JavaScript rendering in web scraping: when you need it and what it costs
How to tell if a page needs a real browser instead of a plain fetch, why rendering costs more everywhere, and the credit multipliers, August 2026.
- How much does it cost to scrape 1 million pages in 2026?
DIY proxies, compute and engineer time versus a flat $299 for 1,000,000 credits: the real cost to scrape 1 million pages, checked August 2026.
- Why your AI agent’s fetch tool comes back with an empty page
Empty shell, cookie wall, login redirect or a page cut short: how to tell them apart in 30 lines of Python, with real measurements from 19 October 2026.
- Add web search to Claude Code, Cursor and Codex with one MCP server
One remote MCP server gives a coding agent 15 tools: web search, page scraping to markdown, maps, Amazon, YouTube transcripts. Setup for three clients, tested.
- Playwright MCP token cost vs reading pages as markdown
We drove the real Playwright MCP server and FastAF markdown over 11 public pages and counted tokens. Median page: 9,874 vs 5,083, with exceptions both ways.
- Build an MCP server in Python that wraps a web data API
A working MCP server in 109 lines of Python: three web data tools, errors that tell the agent what to do, and a per-session credit budget. Tested on 19 Oct 2026.
- Is web scraping legal in the EU? GDPR, database rights, AI Act
What EU law says about scraping public web pages: GDPR and legitimate interest, the database right, text and data mining opt-outs, the AI Act, and a checklist.
FAQ
Do I pay for failed requests?
No. Failed requests are never charged, and neither is a page that comes back as a verification check, empty, or (on Booking) without its results: the answer is 502 target_blocked with the option to retry with.
Can I scrape Zillow or eBay here?
No: those URLs are refused here at no cost and served as JSON by /v1/zillow and /v1/ebay.
Can I scrape Reddit?
Yes: subreddits, threads with comments, user pages and search are read from Reddit’s public feeds and returned as html or markdown, for 1 credit.
Can I get Markdown instead of HTML?
Yes. Set formats=markdown. The parameter is plural.
How are credits calculated?
A basic request costs 1 credit, dynamic costs 5, premium or country targeting costs 10, and dynamic plus premium or country costs 25. AI extraction (ai_query, ai_extract_rules or formats=summary) adds 10 credits to any of those.