Skip to main content
Spidra API

Send a request.
Get clean data back.

One REST API to search the web, map sites, scrape and crawl pages, and parse documents. Spidra runs the browsers, proxies and extraction, and hands you Markdown or JSON.

POSTList today's top 5 launches with name, tagline and votes.completed· 3 credits
response
{
"status": "completed",
"result": {
"content": {
"launches": [
{
"name": "Inbox Zero",
"tagline": "Open-source Superhuman alternative",
"votes": 277
},
{
"name": "NitroStack",
"tagline": "Build, test, and deploy MCP servers in one place",
"votes": 299
},
{
"name": "Spira Maxima",
"tagline": "Video model that turns script into viral social media videos",
"votes": 639
},
{
"name": "Rill Browser",
"tagline": "The browser where Claude Code and Codex work beside you",
"votes": 519
},
{
"name": "IrisGo for Solopreneurs",
"tagline": "AI workflow automation: show it once, let it run",
"votes": 506
}
]
},
"ai_extraction_failed": false
},
"error": null
}
Get started

From API key to data in three steps

The SDKs submit the job and wait for the result, so your first request is a few lines.

1

Create an API key

Sign up and create one under API Keys. You start with 300 free credits, no card needed.

spd_••••••••••••••••
2

Install an SDK

Or skip it and call the REST API from any language with an HTTP client.

$ pip install spidra
More SDKs in the docs
3

Make your first request

Point it at a page and say what you want. Leave the prompt out to get the page as Markdown.

Your first request

first_request.py
1import os
2from spidra import Spidra
3
4client = Spidra(api_key=os.environ["SPIDRA_API_KEY"])
5
6# waits for the job and returns the result
7page = client.scrape(
8 "https://www.producthunt.com/",
9 prompt="List today's top 5 launches with name, tagline and votes.",
10)
11
12print(page.content)

Both SDKs cover every tool, retry with backoff and raise typed errors.

Endpoints

Six tools. One base URL.

Each tool takes JSON and returns JSON, with Markdown wherever a page or document is the answer.

https://api.spidra.io/api
    • GET/search/{jobId}
Inline or job

Search

Results from the web, news, images, videos, research papers and GitHub, with page content if you want it.

Limit
1 to 20 results per source
Cost
1 credit per 10 results per source
Search in the docs
In production

Limits and errors you can plan for

Clear rate limits on every plan, and errors that tell your code what happened and what to do next.

Rate limits

60 / min

Scrape, crawl, search, map and parse

20 / min

Batch scrape, up to 50 URLs each

Limits count submissions, not polls, and they're the same on every plan. Every submit tells you what's left.

Response headers
RateLimit-Policy: "60-in-1min"; q=60; w=60
RateLimit: "60-in-1min"; r=59; t=60

Errors

404 response
{
"status": "error",
"message": "Scrape not found",
"code": "JOB_NOT_FOUND"
}
  • 401Missing, invalid or switched-off API keyCheck the Authorization header
  • 402A payment on the account is overduePAYMENT_OVERDUEUpdate billing in the dashboard
  • 403Monthly credits used upTop up or change plan
  • 404No job with that IDJOB_NOT_FOUNDCheck the ID you stored
  • 409The job already finishedALREADY_TERMINALNothing to cancel
  • 422The request didn't validateRead the errors array, one line per problem
  • 429Over the rate limit or too many queued jobsTOO_MANY_PENDING_JOBSBack off and retry
  • 503The platform is at capacitySERVICE_BUSYWait retry_after seconds

Failed jobs cost nothing

Pages that error, come back blank or need a sign-in are free.

Polling is free

Checking a job's status never uses credits or rate limit.

Retry only what failed

Re-run the failed items of a batch, or one page of a crawl.

FAQ

Questions, answered

Getting started

Send your API key in the Authorization header as Bearer spd_.... Create keys under API Keys in the dashboard, and switch one off there whenever you need to.

Requests and jobs

Limits and billing

Your first request
is a few lines away.

Start with 300 free credits, about 300 pages. No credit card required.