Scrape pages, search the web, map sites, extract fields, crawl, batch scrape, and run agents with one SocialCrawl API key. Firecrawl upstream under the same envelope and credit system as social. Reads and jobs are priced in credits.
What Web Scraping endpoints does SocialCrawl ship?
Primary product cards cover scrape, search, map, extract, crawl, batch-scrape, agent, parse, sessions, and monitors. The registry also exposes jobs and operational GETs (status, cancel, list) at 0 credit. Firecrawl is the upstream. Same SocialCrawl key as social platforms.
Fetch one public URL as clean markdown or HTML with metadata. Optional formats, proxy, wait_for, and only_main_content. Use for a known URL; start crawl when you need many pages.
Pull structured fields from one page with a JSON schema or plain-language prompt. Prefer this when you need price, author, or plan fields rather than full markdown.
Start an async crawl that walks a site and scrapes pages it finds. Returns job_id. Hold is max(1, limit); settlement follows pages scraped. Poll GET /v1/web/jobs/{job_id}.
Scrape a list of known URLs in one async job. Hold equals the number of URLs. Returns job_id for status and results. Prefer crawl when the site should be explored for you.
Start a browser agent that follows a plain-language instruction on a site. Returns job_id. 25-credit hold up front, then settle to tokens used. Use when clicking and navigation are required.
Open a short-lived browser session on a URL, then execute interactions while it lives. Minimum 5-credit hold with TTL-based settlement. Close when done to settle remaining hold.
Create a scheduled recheck of a page or search. Creating the monitor costs 0 credits. Each later check is billed when it runs. Pause or delete without losing history rules from the API.
// Edit the params above and hit "Try it" to run a live request against the API
How the Web Scraping API works
Web Scraping is a normal SocialCrawl surface under /v1/web. You authenticate with x-api-key, pay in credits (including async holds that settle when jobs finish), and read one JSON envelope. Firecrawl is the upstream. Same key as social.
Authenticate every call
Send your key in the x-api-key header. No separate Firecrawl account for customers. The same SocialCrawl key works for Reddit, TikTok, Perplexity, and the rest of the catalog.
GET for sync reads, POST for jobs
scrape, search, map, and extract are GET with query params. crawl, batch-scrape, agent, parse, sessions, and monitors use POST bodies (or multipart for parse). Poll async work with GET /v1/web/jobs/{job_id}.
Pay in credits, including async holds
Sync tiers: scrape/map/parse 1, search 2, extract 5. Async crawl holds max(1, limit) and settles to pages scraped. batch-scrape holds URL count. agent holds 25 then settles tokens. sessions hold at least 5 with TTL settle. Monitor create is 0; checks bill later. Job status GETs are 0 credit.
Read one JSON envelope
Every response is the same shape: success, data, credits_used, credits_remaining, request_id, cached. Async starts return a job_id. Status and cancel routes update settlement without inventing a second envelope.
The usual integration chain
Most products discover URLs, scrape what matters, then crawl only when a whole site is required. Async jobs always end with a status poll.
01Scrape
GET /v1/web/scrape?url=…
WebPage: markdown/HTML, url, metadata
Known single URL. Fastest path to clean page content.
02Search
GET /v1/web/search?query=…
WebPageList: ranked titles, URLs, snippets
When you do not know the URL yet.
03Crawl
POST /v1/web/crawl { url, limit }
job_id for a site-wide async crawl
Many pages from one origin with limit and depth controls.
04Job status
GET /v1/web/jobs/{job_id}
Progress, settlement, and results when ready
0-credit GET /v1/web/jobs/{job_id} until complete or cancel.
request
GET /v1/web/scrape
?url=https://example.com
&formats=markdown
Host: www.socialcrawl.dev
x-api-key: sc_your_api_key_here
POST /v1/web/crawl
Content-Type: application/json
{ "url": "https://docs.example.com", "limit": 25 }
Same request lifecycle as every other /v1 platform endpoint. Web is not a separate product stack.
01
Edge receives the call
Next.js catch-all routes into the Hono social API. We mint a request_id, authenticate the key, then enforce rate limit and concurrency for the key.
02
Validate, then debit or hold
Registry lookup finds the web resource. Param and body validation run first. Invalid input returns 400 with no charge. Sync routes debit the tier cost. Async routes place a credit hold before upstream work.
03
Cache or fetch
Eligible search and map paths may hit a short public cache and return credits_used = 0. Scrape and extract typically go live. Async work is handed to Firecrawl jobs; you poll jobs/* for progress.
04
Normalize and return
Upstream payloads map to WebPage, WebPageList, or job status objects, validate against schema, wrap the success envelope, and settle or refund holds when jobs finish or fail.
Billing rules that matter in production
scrape, map, parse live miss: 1 credit each
search: 2 credits; extract: 5 credits
crawl: async hold max(1, limit), settle to pages scraped
batch-scrape: async hold equals URL count
agent: 25 credit hold, then token settle
sessions: min 5 credit hold, TTL-based settle
monitors: 0 to create; checks billed later
jobs/* status GETs: 0 credits
Cancel or hard fail: refund unsettled hold
How we get the data
Web Scraping is public page and SERP access through Firecrawl, normalized into SocialCrawl WebPage and job envelopes so your code keeps one key and one billing model.
What Web is for this API
Public web pages, search results, site maps, structured extraction, multi-page crawls, batch URL scrapes, browser agents, document parse, sessions, and change monitors. Not social profile or comment trees.
How SocialCrawl reaches it
Firecrawl is the upstream for scrape, search, map, extract, crawl, batch-scrape, agent, and related job operations. Customers do not manage a separate Firecrawl key for the SocialCrawl path.
What leaves our edge
A unified JSON envelope: success, data, credits_used, request_id, cached. Page content lands as WebPage. Search and map land as WebPageList. Async starts return job_id for status and settlement.
What we do not ship live
No unlimited free crawl. Holds and settlement always apply to async work. Job status GETs are free but do not replace the cost of pages scraped. Private authenticated sites still need sessions or agent flows where the product supports them.
field map sketch
page HTML / markdown→ WebPagepage HTML or markdown plus metadata
SERP / sitegraph rows→ WebPageListSERP and sitegraph rows as list items
async job status→ jobs/* envelopeasync job status and credit settlement
What this API is used for
The jobs this API is most often used for.
22active Web Scraping endpoints in the registry
1 / 2 / 5credit ladder for scrape, search, extract
Page scrape, site crawl, and change monitoring
Callers concentrate on single-URL scrape, web search into scrape chains, and crawl or batch-scrape when inventory is large. Monitors appear for recurring change checks. Agent and sessions show up when navigation or login steps block a simple GET. Firecrawl-powered web under the same SocialCrawl key and envelope as social. Clear async hold and settle rules, with jobs/* status at 0 credit.
Single scrape is typically seconds on a live miss. Search and extract can be slower. Crawl, batch-scrape, and agent are async: poll jobs until settlement.
What people build with the Web Scraping API
The jobs Web Scraping data is most often used for. Each one is a full recipe with the endpoint chain and pricing.
Every endpoint returns structured JSON in a unified envelope. Computed fields such as engagement rate and content category are included only where the endpoint supports them and the required source inputs are present.
It is a family of /v1/web/* endpoints that fetch and structure the open web: scrape one page to clean markdown or HTML, search the web, map every URL on a site, extract structured fields with a prompt or JSON schema, run async crawls and batch scrapes, schedule change monitors, and drive interactive browser sessions, all behind the same key, envelope, and credit meter as SocialCrawl's social and commerce data.
What does a scrape response look like?
Content-bearing endpoints return the unified WebPage schema: the page URL, final URL after redirects, title, description, markdown and HTML content, optional screenshot media, structured extraction output, and fetch metadata, all under data.page in the standard SocialCrawl envelope. List endpoints like search and map return a WebPageList with items[].
How much does web scraping cost?
A basic page scrape is 1 credit. Web search costs 2 credits, site maps 1 credit, structured extraction 5 credits. Variable work is metered honestly: async crawls hold credits per page and settle to actual usage with automatic refunds for unused pages. New accounts get 100 free credits with no card required.
Can I crawl a whole site asynchronously?
Yes. POST /v1/web/crawl starts an async job and returns a job id you can poll, list, or cancel. Credits are held up front for the page limit you set, then settled to what the crawl actually fetched. Cancelling refunds the unused hold. Batch scraping many known URLs works the same way through /v1/web/batch-scrape.
Can I watch a page for changes?
Yes. POST /v1/web/monitors creates a scheduled monitor with a cadence as tight as every 5 minutes. Each check is billed only when it runs, and you can list checks, pause, resume, or delete the monitor at any time through the same /v1/web/monitors endpoints.
Does JavaScript-heavy content work?
Yes. Pages render in a real browser environment before capture, so client-side content is included. For flows that need clicks, logins, or custom navigation you can open an interactive session with POST /v1/web/sessions and execute browser code in it step by step.
How is this different from running my own scraper?
No proxy pools, headless browser fleet, retry logic, or parsing pipeline to maintain. One GET request returns clean markdown in a stable schema, and the same key also covers SocialCrawl's social, commerce, and research platforms, so web data lands in the same shape as everything else you collect.
Does SocialCrawl offer a web data API?
Yes. SocialCrawl's Web Scraping API is a full web data API: a single x-api-key scrapes any public page to clean markdown, searches the web, maps a whole site, extracts structured fields with a prompt or JSON schema, runs async crawls, and schedules change monitors. Every response lands in the unified WebPage schema, so open-web data arrives in the same shape as the social and commerce data on the same key, from 1 credit per page.
What is the best web scraper API?
SocialCrawl is a strong web scraper API when you want clean output without running the plumbing yourself. Pages render in a real browser before capture, so JavaScript-heavy content is included, and there are no proxy pools, headless browser fleets, or retry logic to maintain. One request returns markdown or HTML in a stable schema from 1 credit per page, and interactive sessions handle flows that need clicks or logins.
Is scraping Web Scraping data legal?
SocialCrawl returns publicly available Web Scraping data and does not access private or login-gated content. Whether scraping fits your project depends on your use case and jurisdiction — you are responsible for complying with Web Scraping's terms of service and applicable data-protection laws such as GDPR and CCPA. This is general information, not legal advice.
Web Scraping scraping API vs the official Web Scraping API — what's the difference?
With SocialCrawl there is no app review or approval queue — sign up and call Web Scraping endpoints immediately with a single x-api-key. Responses share one unified schema with every other SocialCrawl platform, and credit-based pricing replaces per-platform quotas. Official APIs are still the right choice for posting and other write actions: SocialCrawl is read-only data.