Skip to main content
Nimble API provides powerful web scraping and data extraction capabilities through a simple REST API. Extract data from any website, use pre-built templates for popular platforms, search the web, map site structures, and crawl entire websites at scale.

API Features

Base URL

All API requests use the following base URL:
https://sdk.nimbleway.com/v1

Authentication

All requests require authentication using a Bearer token in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Get your API key from the Nimble Dashboard.

Example Request

curl -X POST 'https://sdk.nimbleway.com/v1/extract' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "url": "https://www.example.com",
    "render": true
  }'

Response Codes

Nimble uses standard HTTP status codes to indicate the success or failure of requests.
StatusDescription
200Request successful.
400Bad request - check your parameters.
401Unauthorized - invalid or missing API key.
402Payment required - insufficient budget or trial expired.
422Validation error - invalid request parameters.
429Rate limit exceeded - slow down your requests.
500Internal server error - Nimble infrastructure issue.

Rate Limits

Nimble enforces rate limits to ensure service stability and fair usage across all users.

Default Rate Limits

Driver TypeRate Limit
vx6, vx8, vx1083 QPS (5,000 QPM)
vx12 (Templates)20 QPS (1,200 QPM)
QPS = Queries Per Second, QPM = Queries Per Minute. Rate limits apply per API key.

Rate Limit Headers

Responses include headers showing your current rate limit status:
X-RateLimit-Limit: 83
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1609459200

Exceeding Rate Limits

When you exceed the rate limit, you’ll receive a 429 status code with retry information:
{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded. Current limit: 83 QPS",
    "retry_after": 2
  }
}
Need higher limits? Contact [email protected] for custom rate limits.

Async Operations

Several endpoints support asynchronous processing for long-running operations:
  • /v1/extract/async - Async data extraction
  • /v1/agent/async - Async template extraction
  • /v1/search/async - Async web search
  • /v1/map/async - Async site mapping
  • /v1/crawl - Crawl operations (async only)

Working with Async Tasks

  1. Start an async operation - Returns a task ID
  2. Check task status - Use /v1/tasks/{id} to check progress
  3. Retrieve results - Get results from /v1/tasks/{id}/results when complete
# Start async extraction
curl -X POST 'https://sdk.nimbleway.com/v1/extract/async' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '{"url": "https://example.com"}'

# Returns: {"task_id": "8e8cfde8-345b-42b8-b3e2-0c61eb11e00f"}

# Check task status
curl 'https://sdk.nimbleway.com/v1/tasks/8e8cfde8-345b-42b8-b3e2-0c61eb11e00f' \
  --header 'Authorization: Bearer YOUR_API_KEY'

# Get results when complete
curl 'https://sdk.nimbleway.com/v1/tasks/8e8cfde8-345b-42b8-b3e2-0c61eb11e00f/results' \
  --header 'Authorization: Bearer YOUR_API_KEY'

SDKs

Prefer to use an SDK? Nimble offers official SDKs for popular languages:

Next Steps