Web Scraping API
markdown, HTML, sitemap, search, full-site crawls
Extract
structured data from any site via JSON schema
Brand Data
logos, colors, fonts, styleguide, description, socials, address
Logo Link
logo CDN
Pull Images
images, logos, and screenshots from any URL
Classification
NAICS, SIC, transaction identification

Web Scraping {API}
Turn any URL into clean Markdown, raw HTML, images, or structured JSON — with one API call.
JavaScript rendering, bot-detection bypass, and proxy escalation are handled server-side on every request. You send a URL; you get back clean, LLM-ready data.
Free tier included. No credit card, no proxy configuration, no headless browsers to babysit.
What is a web scraping API?
A web scraping API is a service that extracts data from websites through a single HTTP request. Instead of building and maintaining your own scraping infrastructure — headless browsers for JavaScript rendering, rotating proxy pools, CAPTCHA handling, retry and backoff logic — you send the API a URL and get back clean, structured content. The API absorbs the adversarial parts of scraping so your integration stays a simple request and response.
The modern web makes this harder than it sounds. Most sites now render content client-side, so a plain HTTP fetch returns an empty shell. Bot-detection systems fingerprint requests and block datacenter IPs. Layouts change without notice and silently break hand-written selectors. A good scraping API absorbs all of that: it renders JavaScript when the page needs it, escalates through residential proxies when a request is blocked, and returns content in a format your code — or your model — can consume directly.
That last part matters more than it used to. LLMs process Markdown far more efficiently than raw HTML, which wastes tokens on tags, classes, and tracking noise. Context.dev's web scraping API was built for this era: every page comes back as clean GitHub Flavored Markdown by default, documents like PDF and DOCX are parsed into text, and an AI extraction endpoint returns structured JSON against a schema you define — no selectors to write, no parsers to maintain.
What You Get
Production scraping infrastructure, exposed as one clean API.
JavaScript rendering built in
Single-page apps built with React, Vue, or Angular render fully before extraction. You never pick a mode — the API detects when a headless browser is needed and uses one automatically.
Stealth on every request
Bot-detection bypass and automatic proxy escalation are included on every plan, on every call. No credit multipliers, no premium proxy add-ons, no CAPTCHA-solving surcharges.
Every output format
Clean GitHub Flavored Markdown, raw HTML, page images, sitemaps, screenshots, or structured JSON extracted against your own schema — from the same API key.
Documents, not just pages
The scraper parses PDF, DOCX, DOC, and XML content into clean, LLM-ready text. Point it at a whitepaper or a sitemap file and get usable output back.
Pay only for success
Failed requests and blocked pages are never billed. Credits are consumed only when the API returns the content you asked for.
Built for AI pipelines
Markdown output is roughly 5x more token-efficient than raw HTML, so your RAG pipeline or agent spends its context window on content instead of markup.
One key, every format
Scraping is rarely one-shaped. The same API key covers every way you might need to read the web — each endpoint has its own docs, playground, and examples.
URL to Markdown
Convert any page to clean GitHub Flavored Markdown, ready for LLMs, RAG pipelines, and agents.
Raw HTML
Fetch the full post-render HTML of any URL when you need to run your own parsers.
Image scraping
Extract every image on a page with dimensions and metadata in one call.
Sitemap discovery
List every URL on a domain, with index-file support, deduplication, and resource filtering.
Full-site crawls
Crawl entire websites to Markdown with configurable depth, page limits, and URL filters.
AI extraction
Define a JSON schema and get structured data back from any site — no selectors to maintain.
Also available: web search with scraped results and full-page screenshots.
How It Works
Four things happen between your request and your data — you only write the first one.
Send a URL
One GET request with your target URL and optional parameters for links, images, and documents
We fetch the page
JavaScript rendering, bot-detection bypass, and proxy escalation happen automatically as needed
Content is cleaned
Ads, nav chrome, cookie banners, and tracking noise are stripped; structure is preserved
Data comes back
Markdown, HTML, images, or structured JSON — ready for your pipeline, vector store, or agent
API Response
A single GET request returns LLM-ready Markdown for any URL.
GET /v1/web/scrape/markdown?url=https://context.dev&includeLinks=true{
"success": true,
"url": "https://context.dev",
"markdown": "# Context.dev — The Internet's Brand API\n\nAPI to personalize your product with logos, colors,\nand company info from any domain.\n\n## Features\n\n- **Company Logos** — Fetch high-res logos from any domain\n- **Brand Colors** — Extract full color palettes\n- **Company Data** — Address, socials, description and more\n..."
}Start scraping in three lines
The same call works from JavaScript, Python, Ruby, Go, PHP, or plain curl. SDKs are typed, versioned, and published to npm, PyPI, and friends.
import ContextDev from 'context.dev';
const client = new ContextDev({ apiKey: process.env.CONTEXT_DEV_API_KEY });
const { markdown } = await client.web.webScrapeMd({
url: 'https://example.com/pricing',
});from context.dev import ContextDev
client = ContextDev(api_key="YOUR_API_KEY")
response = client.web.web_scrape_md(
url="https://example.com/pricing",
)
print(response.markdown)curl -X GET "https://api.context.dev/v1/web/scrape/markdown?url=https://example.com/pricing" \
-H "Authorization: Bearer YOUR_API_KEY"What teams build with it
AI agents and RAG pipelines
The most common use case in 2026: giving a model live web access. Agents call the scrape endpoint to read pages mid-task; RAG pipelines crawl documentation sites and knowledge bases into vector stores. Markdown output keeps token costs down, and web context for LLMs stays fresh without re-engineering your ingestion.
Competitive and price monitoring
Scrape competitor pricing pages, product catalogs, and changelogs on a schedule, then diff the output. Because Markdown strips presentation noise, diffs reflect real content changes rather than markup churn — see website change monitoring.
Lead and company enrichment
Point the API at a prospect's domain and combine page content with the brand data endpoints— logos, colors, socials, address, and NAICS/SIC industry codes — to build enriched records that a generic scraper alone can't produce.
Search-grounded answers
The web search endpoint runs a query and scrapes each result to Markdown in one round-trip, so you can ground model answers in current sources without stitching together a search API and a scraper yourself.
Content migration and archiving
Full-site crawls convert legacy sites, wikis, and documentation into portable Markdown — useful for CMS migrations, compliance archives, and building corpora for fine-tuning.
Why not build your own scraper?
You can absolutely scrape without an API — we've written guides to doing it well in Node.js and Python, and a roundup of the best open-source scraping tools. For a handful of friendly, static pages, a library and an afternoon are all you need.
The economics change at production scale. A scraper that works today breaks when the target site ships a redesign, adds Cloudflare, or starts fingerprinting datacenter IPs. Now you're maintaining browser farms, sourcing residential proxies, and writing retry logic — engineering time that compounds every month and differentiates nothing about your product. A web scraping API converts that maintenance burden into a metered bill: one request in, clean data out, and the anti-bot arms race is someone else's full-time job.
If you're comparing providers, we publish honest feature-by-feature breakdowns against Firecrawl, ScraperAPI, and ScrapingBee. The short version: most scraping APIs charge extra for JavaScript rendering and premium proxies; Context.dev includes both on every request and adds resolved brand and company data no pure scraper returns.
Simple, success-based pricing
A standard scrape costs one credit, and you're never billed for failed or blocked requests.
Sign up with a work email and get 500 free API credits at 30 requests per minute — enough for 500 Markdown scrapes; free-email signups get 250 credits at 10 requests per minute. Paid plans scale linearly per credit with no annual contract and no surprise multipliers for JavaScript rendering or stealth. Full details are on the pricing page.
Frequently asked questions
Common questions about the Context.dev web scraping API.
What is a web scraping API?
Can I use the web scraping API from Python or JavaScript?
What output formats does the API support?
How much does the web scraping API cost?
How does Context.dev compare to Firecrawl or ScraperAPI?
How is a web scraping API different from a library like BeautifulSoup or Puppeteer?
Does it handle JavaScript-heavy websites?
Is web scraping legal?
Am I billed for failed or blocked requests?
Can I crawl an entire website, not just one page?
What is a web scraping API?
How is a web scraping API different from a library like BeautifulSoup or Puppeteer?
Can I use the web scraping API from Python or JavaScript?
Does it handle JavaScript-heavy websites?
What output formats does the API support?
Is web scraping legal?
How much does the web scraping API cost?
Am I billed for failed or blocked requests?
How does Context.dev compare to Firecrawl or ScraperAPI?
Can I crawl an entire website, not just one page?
Ship an agent that actually knows things.
Free tier, 10-minute integration, and the same API powering agents at Mintlify, daily.dev, and Propane. No credit card to start.

















