AI Web Scraper API - Scrape Any Website to Markdown or JSON
AI web scraper and web scraping API: scrape any website to HTML, Markdown, or JSON. Blocked requests cost 0 credits, real status codes. Start free.
What Is the AI Web Scraper API?
FlyByAPIs AI Web Scraper API is a web scraping API that fetches any URL and returns it as HTML, LLM-ready Markdown, or structured JSON. Under the hood there are two fetch paths: plain HTTP with a real-browser TLS fingerprint, and a headless browser that solves anti-bot challenges. On top sits an AI web scraper layer for schema-based extraction and summaries. And one rule we think the whole category should follow: if you didn’t get data, you don’t pay. Available on RapidAPI starting at $0/month with 100 free requests.
Need more than an API? We also build custom endpoints, run done-for-you extractions delivered as CSV or JSON, and help you set up automated pipelines. If your use case does not fit the endpoints below, tell us what you need:
Scrape Any Website, Pay Only for What Works
Every response tells you exactly what happened and exactly what you paid: the real upstream status code (never masked), whether the page was blocked and by which anti-bot system, which fetch path won, and the precise credits billed. Blocked requests cost 0 credits.
1 credit
HTTP fetch
0 credits
Blocked requests
~2s
Typical response
Free
100 req/month
The default mode, render_js=auto, tries the cheap HTTP path first and escalates to the headless browser only when a site actually blocks it. Only the winning attempt is billed, never both. Output comes back the way you need it: raw HTML, clean Markdown with boilerplate stripped (main_content_only), plain text, CSS/XPath extraction rules, or free extras like title, links, emails, phone numbers, and tables. On top of that, three AI endpoints turn any page into structured JSON or a summary, without you writing a single selector.
100 requests/month free · No credit card · Blocked requests never billed
Endpoints
| Endpoint | Description |
|---|---|
/scrape | Fetch any URL and return HTML, Markdown, or text, plus cookies, headers, redirect chain, block verdict, and optional CSS/XPath extraction. |
/unlock | Render the page in a headless browser, clear anti-bot challenges, and return the clearance cookies, user_agent, and session_id to replay on /scrape at the HTTP price. |
/ai-extract | Describe the fields you want (schema or prompt) and get validated JSON back. Returns null instead of guessing when a field is not on the page. |
/ai-generate-extraction-rules | The model runs once against 1-3 sample pages and writes a reusable extract_rules object. Every future page of that layout costs fetch credits only. |
/ai-summarize | Summary plus key points for any URL, in the page’s language or one you choose, with length control and your own focus instructions. |
All five endpoints accept both GET and POST with the same parameters. Full parameter reference in the Web Scraper docs
. Just need summaries without the full scraping toolkit? The AI Article Extractor & Summarizer API
is the standalone version of /ai-summarize.
Code Examples (Python, JavaScript, cURL)
Turn any URL into LLM-ready Markdown in one call:
| |
| |
| |
Example JSON Response
| |
That credits: 1 in the body is the whole philosophy in one field. If the browser had been needed, render_used would say "browser" and credits would say 5. If the site had blocked us, blocked would be true, block_reason would tell you why, and credits would be 0.
Features
- Two fetch paths, one decision made for you:
render_js=autotries plain HTTP with a real-browser TLS fingerprint first and escalates to a challenge-solving headless browser only when needed. You are billed for the winning attempt only. - HTML, Markdown, or text output:
format=markdownwithmain_content_only=truegives you clean, LLM-ready Markdown from any page in one call. - Free extras: title, meta, links, images, emails, phone_numbers, and tables, parsed from the same fetch at no extra cost.
- CSS/XPath extract_rules: a ScrapingBee-compatible grammar, so existing extraction rules paste straight in. Hand-written or generated for you by AI.
- AI extraction that doesn’t guess:
/ai-extractreturns validated JSON matching your schema, withnullfor fields the page doesn’t have. Never a plausible invention. - AI-generated rules, reusable forever:
/ai-generate-extraction-rulesruns the model once, writes validated selectors, and every future page of that layout costs fetch credits only. Nobody else in the category offers this. - A real web unlocker:
/unlockmints clearance cookies, the browser’s user_agent, and a session_id. Replay them on/scrapeand keep scraping the cleared site at the 1-credit HTTP price. - Honest diagnostics in every response: real upstream
http_status(never masked),blockedwith stableblock_reasonslugs,detected_protectionnaming Cloudflare, Akamai, DataDome, PerimeterX, or Imperva,render_used, and the exactcreditsbilled. - Sticky sessions:
session_idkeeps the same exit IP across requests, on both fetch paths and all five endpoints, so pagination and cookie replay actually work. - Two exit pools per request:
datacenter(1 credit HTTP / 5 browser) orispstatic-residential trust for strict targets (5 / 20), each rate visible in the response. - GET and POST everywhere: same parameters, same behavior, so it works from a browser bar, a cron job, or the RapidAPI playground.
Use Cases
LLM and RAG Pipelines That Feed on Any URL
Turn any web page into clean Markdown for your embeddings or context window with format=markdown and main_content_only. One credit per page over HTTP, and the AI extraction layer is there when you need structured fields instead of prose.
Price Monitors Across Retailers That All Block Differently
Generate extraction rules once per store layout with /ai-generate-extraction-rules, then scrape every product page at fetch price. When a site is blocked, you pay nothing and the response names the anti-bot system, so your retry logic actually knows what to do.
Content Aggregators and Article Extraction
Pull the readable content out of news sites, blogs, and documentation with boilerplate stripped, plus free extras like title, links, and tables. Add /ai-summarize for a summary and key points in the page's own language, at a flat 5 extra credits.
Structured Data Without Writing a Single Selector
Data teams describe the fields they want as a JSON schema or plain English, and /ai-extract returns validated JSON. Missing fields come back as null, never as a plausible guess, so what lands in your warehouse is what was actually on the page.
Free tier · No credit card · Cancel anytime
Why Developers Switch
There is a cost baked into this category that nobody itemizes on their pricing page. We call it the scraping tax: you pay for attempts that returned nothing, for JS-render surcharges on pages that never needed rendering, for an LLM run on every single page of the same layout, and for responses that mask the real status code so you can’t even tell what went wrong. None of that is data. All of it is billed.
And the alternative, building it yourself, means fighting the anti-bot arms race alone: TLS fingerprints, challenge pages, rotating proxies, layouts that shift under your parser. We fight that fight every day. Every endpoint is monitored 24/7, and when a source changes we ship the fix within hours. Here is where the tax hides:
Where the scraping tax hides
Building and maintaining your own scraper
Works on day one, then a target adds Cloudflare, then your parser breaks, then your proxies get flagged. The build is cheap. The upkeep is an engineer permanently on call for a pipeline that isn't your product.
APIs that hide what actually happened
You get a body and a vendor status code. Was the page really a 200? Was it a challenge page? Which anti-bot system fired? Without the real upstream status and a block reason, your retry logic is guessing, and every guess is billed.
AI extraction that runs an LLM on every page
Firecrawl and ScrapeGraphAI style extraction reruns the model on page 1 and on page 100,000 of the identical layout. Our rule generator runs the model once, writes validated selectors, and the other 99,999 pages cost fetch credits only.
JS-render surcharges whether you needed them or not
Turn on JS rendering as insurance and most vendors bill the premium rate on every call, rendered or not. Our auto mode tries the 1-credit HTTP path first and bills the browser rate only when the browser is what actually got your data.
To be fair: some of these tools are genuinely good at things we don’t do. Firecrawl’s SDK ecosystem is mature and pleasant to work with. What we refuse to copy is the meter.
Free tier available. No credit card required
Comparison
| Flyby AI Web Scraper | Firecrawl | ScrapingBee | ZenRows | Build It Yourself | |
|---|---|---|---|---|---|
| Blocked request cost | 0 credits | Failed attempts burn credits | Depends on error type | Depends on error type | Proxy cost either way |
| Real upstream status code | ✓ Never masked | Own error format | Vendor-mapped codes | Vendor-mapped codes | ✓ Yes |
| JS render billing | Only when the browser wins | Per-page credits | Surcharge when enabled | Surcharge when enabled | Headless infra cost |
| AI extraction billing | Model once, selectors reusable | LLM on every page | AI cost per page | ✗ No AI extraction | Your model bill |
| Unlock once, scrape at HTTP price | ✓ Yes | ✗ No | ✗ No | ✗ No | DIY session juggling |
| LLM-ready Markdown output | ✓ Yes, 1 credit | ✓ Yes | HTML-first | HTML-first | Extra parsing step |
| SDK ecosystem | Any HTTP client, GET or POST | ✓ Mature SDKs | Official clients | Official clients | N/A |
| Free tier | 100 req/mo, forever | One-time credits | Time-limited trial | Time-limited trial | Infra cost from day 1 |
| Maintenance required | ✓ None | ✓ None | ✓ None | ✓ None | ✗ Ongoing |
| Setup time | < 5 min | < 5 min | < 5 min | < 5 min | Weeks |
Are we the cheapest at every volume? Depends on your workload, so we won’t claim that. Here is what we do claim: our meter never charges you for a page you didn’t get, a render that wasn’t used, or a model run that produced nothing. Check any response, the numbers are right there.
Get Started in Minutes
- Sign up on RapidAPI , it’s free.
- Subscribe to the Basic plan (no credit card required).
- Copy your API key from the RapidAPI dashboard.
- Make your first request using the code examples above.
Every plan meters JS renders at requests/5 and AI operations at requests/6, which is exactly the credit ladder above mapped to your quota: no hidden multipliers, no fine print. And every week you keep running a homemade scraper is another week of proxy bills and emergency patches while your actual product waits. Long story short: start on the free tier. 100 requests a month, hard limit, no credit card, no surprise bill. Your first Markdown response is usually back in under 5 minutes.
Start Free, Scale as You Grow
All plans include full API access to every endpoint. No feature gating.
Need the Data Without the Hassle?
Custom extractions, enterprise plans, or just a quick question. We reply within 24 hours.
Message sent!
We'll get back to you within 24 hours. Check your inbox.
Frequently Asked Questions
Q How do I scrape a website without getting blocked?
Q How do I convert a web page to Markdown for my LLM?
Q What is a web unlocker?
Q How does AI web scraping extract structured data from a website?
Q Do I pay for blocked or failed scraping requests?
Q How much does it cost to scrape 100,000 pages a month?
Q Can I use AI extraction without paying for a model run on every page?
Try It Free
Sign up, grab your API key, and make your first call in under 5 minutes.
Explore Our Other APIs
One RapidAPI account works across the whole FlyByAPIs suite. Every API starts free.