fastcrawl-net Batch API
The Batch API from fastcrawl-net — 2 operation(s) for batch.
The Batch API from fastcrawl-net — 2 operation(s) for batch.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/fastcrawl-net:fastcrawl-net-batch-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Fastcrawl Net Batch API
version: 0.8.0
description: 'Operations tagged Batch across 2 of this provider''s published API definitions: fastcrawl-net-openapi.json, mcp-fastcrawl-net-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://fastcrawl.net/api/v1
security:
- bearerAuth: []
tags:
- name: Batch
paths:
/batch/extract:
post:
summary: Batch extract — one schema, up to 25 URLs
operationId: batchExtract
description: Scrape up to 25 URLs (10-wide, same pipeline and cache as /scrape) and run one prompt + schema over each, 5 LLM calls wide. One credit per page; cached pages are free. A page that fails (dead host, anti-bot, timeout) returns its own error entry and the other pages still succeed — the request stays 200. Failed pages are never charged.
requestBody:
required:
- urls
content:
application/json:
schema:
type: object
required:
- urls
properties:
urls:
type: array
minItems: 1
maxItems: 25
items:
type: string
format: uri
prompt:
type: string
description: What to extract, e.g. 'extract the pricing tiers'
schema:
type: object
description: JSON schema the extracted data must match
maxAge:
type: integer
description: Cache max age in seconds (default 172800 = 48h, 0 = always refetch). Cache hits are free. max_age is accepted as an alias.
responses:
'200':
description: Per-item results (aligned to input order) + totals.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
total:
type: integer
succeeded:
type: integer
failed:
type: integer
results:
type: array
items:
type: object
properties:
url:
type: string
success:
type: boolean
data:
type: object
description: Extracted JSON matching your schema (present when success is true)
error:
type: string
error_code:
type: string
retryable:
type: boolean
from_cache:
type: boolean
description: Served from the scrape cache — this page cost 0 credits
engine_path:
type: string
'400':
description: urls missing/empty, more than 25, or a non-http(s) URL (error_code invalid_request).
tags:
- Batch
servers:
- url: https://fastcrawl.net/api/v1
/batch/scrape:
post:
summary: Batch scrape
operationId: batchScrape
description: Up to 50 URLs, 10-wide parallel, same pipeline as /scrape (formats, cache, PDF auto-route, changeTracking). Plan limits checked once up front. Failed requests are never charged.
requestBody:
required:
- urls
content:
application/json:
schema:
type: object
required:
- urls
properties:
urls:
type: array
maxItems: 50
items:
type: string
format: uri
formats:
type: array
items:
enum:
- markdown
- html
- links
- json
- changeTracking
description: 'Output formats. changeTracking adds metadata.change_information: {change_status: first|unchanged|added|removed|different, diff} vs your previous scrape of this URL.'
maxAge:
type: integer
timeout:
type: integer
minimum: 5
maximum: 30
description: Per-page timeout in seconds (5-30, default 30), applied to each URL in the batch.
fetchMode:
enum:
- auto
- http
responses:
'200':
description: Per-item results (aligned to input order) + totals.
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
total:
type: integer
succeeded:
type: integer
failed:
type: integer
results:
type: array
items:
type: object
properties:
success:
type: boolean
url:
type: string
markdown:
type: string
html:
type: string
links:
type: array
items:
type: string
json:
type: object
metadata:
type: object
description: incl. change_information when formats has changeTracking; parser=pdf-inspector for PDFs
duration_ms:
type: integer
from_cache:
type: boolean
error:
type: string
error_code:
enum:
- target_dns_error
- target_unreachable
- target_timeout
- target_tls_error
- target_redirect_loop
- target_blocked
- target_not_found
- target_rate_limited
- target_server_error
- scrape_http_status
- scrape_invalid_url
- scrape_engine_error
- scrape_antibot_error
- scrape_pdf_detected
- unknown_format
- invalid_request
- invalid_api_key
- missing_api_key
- monthly_limit
- daily_limit
- rate_limit
retryable:
type: boolean
description: 'true: timeout/unreachable/rate-limit/engine errors — retry helps. false: dns/404/blocked/tls/redirect-loop — do not retry.'
tags:
- Batch
servers:
- url: https://fastcrawl.net/api/v1
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
x-refined-from:
- fastcrawl-net-openapi.json
- mcp-fastcrawl-net-openapi.json