API Reference
Base URLβ
All API requests should be made to:
https://spideriq.ai
Authenticationβ
All endpoints require Bearer token authentication. See Authentication for details.
Authorization: Bearer <client_id>:<api_key>:<api_secret>
API Endpointsβ
Job Managementβ
Submit and manage scraping jobs.
Submit Job
POST /api/v1/jobs/submit
SpiderSite Job
POST /api/v1/jobs/spiderSite/submit
SpiderMaps Job
POST /api/v1/jobs/spiderMaps/submit
SpiderVerify Job
POST /api/v1/jobs/spiderVerify/submit
SpiderPeople Job
POST /api/v1/jobs/spiderPeople/submit
Get Status
GET /api/v1/jobs/{id}/status
Get Results
GET /api/v1/jobs/{id}/results
List Jobs
GET /api/v1/jobs/list
Cancel Job
DELETE /api/v1/jobs/{id}
SpiderMaps Campaigns (v2.14.0)β
Orchestrate multi-location Google Maps scraping with campaigns.
Create Campaign
POST /api/v1/jobs/spiderMaps/campaigns/submit
Get Next Location
POST /api/v1/jobs/spiderMaps/campaigns/{id}/next
Campaign Status
GET /api/v1/jobs/spiderMaps/campaigns/{id}/status
Stop Campaign
POST /api/v1/jobs/spiderMaps/campaigns/{id}/stop
Continue Campaign
POST /api/v1/jobs/spiderMaps/campaigns/{id}/continue
List Campaigns
GET /api/v1/jobs/spiderMaps/campaigns
Locations (v2.14.0)β
Query the global location database with 44,691 cities across 240 countries.
List Locations
GET /api/v1/locations
Location Stats
GET /api/v1/locations/stats
List Countries
GET /api/v1/locations/countries
SpiderSearch (v2.30.0)β
Search across all your indexed job results with full-text search, faceted filtering, and geo-radius queries.
Search Businesses
GET /api/v1/search/businesses
Search Leads
GET /api/v1/search/leads
Search All
GET /api/v1/search/all
Autocomplete
GET /api/v1/search/autocomplete
Aggregations
GET /api/v1/search/aggregations
Systemβ
Monitor system health and queue statistics.
Health Check
GET /api/v1/system/health
Queue Stats
GET /api/v1/system/queue-stats
System Info
GET /api/v1/system/info
SpiderBrowser (Admin)β
Manage browser profiles, sessions, and cookie exports.
Create Profile
POST /api/v1/admin/browser/profiles
List Profiles
GET /api/v1/admin/browser/profiles
Start Browser
POST /api/v1/admin/browser/profiles/{id}/start
Stop Browser
POST /api/v1/admin/browser/profiles/{id}/stop
Export Cookies
POST /api/v1/admin/browser/profiles/{id}/cookies/export
Browser Stats
GET /api/v1/admin/browser/stats
YAML/MD Format Support (v2.60.0)β
SpiderIQ supports YAML and Markdown response formats for AI agent integration, providing 40-50% token savings.
GET Endpoints: Format Parameterβ
Add ?format=yaml or ?format=md to any GET endpoint:
# YAML format (token-efficient for AI agents)
curl "https://spideriq.ai/api/v1/jobs/{job_id}/status?format=yaml" \
-H "Authorization: Bearer $TOKEN"
# Markdown format (human-readable)
curl "https://spideriq.ai/api/v1/jobs/{job_id}/results?format=md" \
-H "Authorization: Bearer $TOKEN"
YAML Response Example:
job_id: 974ceeda-84fe-4634-bdcd-adc895c6bc75
type: spiderSite
status: completed
priority: 5
created_at: '2026-03-13T10:30:00'
processing_time_seconds: 19.77
pages_crawled: 8
Markdown Response Example:
## Job: 974ceeda-84fe-4634-bdcd-adc895c6bc75
**Type**: spiderSite | **Status**: completed | **Priority**: 5
**Processing Time**: 19.77s
**Pages Crawled**: 8
POST/PATCH Endpoints: YAML Inputβ
Submit payloads in YAML format using Content-Type: text/yaml:
# SpiderSite job with YAML payload
curl -X POST "https://spideriq.ai/api/v1/jobs/spiderSite/submit" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: text/yaml" \
-d '
url: https://example.com
max_pages: 10
extract_team: true
compendium:
enabled: true
cleanup_level: fit
'
# SpiderMaps job with YAML payload
curl -X POST "https://spideriq.ai/api/v1/jobs/spiderMaps/submit" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: text/yaml" \
-d '
search_query: coffee shops near me
max_results: 20
extract_reviews: true
'
Supported Content Typesβ
| Content-Type | Accepted |
|---|---|
text/yaml | β |
application/yaml | β |
application/x-yaml | β |
application/json | β (default) |
Token Efficiencyβ
| Format | Tokens (typical) | Savings |
|---|---|---|
| JSON | ~200 | baseline |
| YAML | ~120 | 40% |
| Markdown | ~100 | 50% |
Response Formatβ
Success Responseβ
All successful responses follow a consistent structure:
{
"success": true,
"job_id": "uuid",
"type": "spiderSite" | "spiderMaps" | "spiderVerify" | "spiderPeople",
"status": "completed",
"data": {
// Flat structure with results
}
}
Error Responseβ
Error responses include detailed error information:
{
"detail": "Error message describing what went wrong"
}
Status Codesβ
| Code | Meaning | Description |
|---|---|---|
| 200 | OK | Request successful, results available |
| 201 | Created | Resource created successfully |
| 202 | Accepted | Request accepted, processing (poll for results) |
| 400 | Bad Request | Invalid request format or parameters |
| 401 | Unauthorized | Missing or invalid authentication |
| 403 | Forbidden | Client account inactive |
| 404 | Not Found | Resource not found |
| 410 | Gone | Job failed or was cancelled |
| 422 | Unprocessable Entity | Validation error (internal bug) |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Server error |
| 503 | Service Unavailable | Queue service unavailable |
Rate Limitingβ
- Limit: 100 requests per minute per client
- Burst: 20 requests allowed in burst
- Headers:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset
When rate limited, you'll receive a 429 response with a Retry-After header.
Paginationβ
List endpoints support pagination:
GET /api/v1/jobs/list?page=1&page_size=50
Parameters:
page- Page number (default: 1)page_size- Items per page (default: 50, max: 100)
Response:
{
"total": 1234,
"page": 1,
"page_size": 50,
"jobs": [...]
}
Filteringβ
List jobs by status or type:
GET /api/v1/jobs/list?status_filter=completed&type_filter=spiderSite
Versioningβ
Current API version: v1
The version is included in the URL path: /api/v1/*
OpenAPI Specificationβ
Download the complete OpenAPI spec:
OpenAPI JSON
View or download the OpenAPI 3.0 specification
SDKs and Librariesβ
Currently, SpiderIQ does not provide official SDKs. Use standard HTTP libraries:
- Python:
requests,httpx - JavaScript:
fetch,axios - PHP:
curl,Guzzle - Go:
net/http - Ruby:
faraday,httparty
Supportβ
Need help? Contact us:
Get Support
Email our support team