Overview
The Adapt API is a RESTful HTTP API that enables you to programmatically manage web scraping jobs, monitor crawl progress, and analyse results. All endpoints return JSON responses with a consistent format.Base URLs
Adapt uses different base URLs depending on your environment:The marketing website at
https://goodnative.co does not serve API endpoints.Versioning
All API endpoints are versioned under the/v1/ prefix to ensure backward compatibility:
/v2/) will be released while maintaining support for existing versions.
Request Format
All POST, PUT, and PATCH requests must include aContent-Type header:
Response Format
All API responses follow a standardised format with consistent structure.Success Response
Successful requests return a200 or 201 status code:
Always
"success" for successful responses.The response payload. Structure varies by endpoint.
Human-readable description of the operation result.
Unique identifier for this request. Include this when reporting issues.
Error Response
Failed requests return appropriate HTTP status codes (400-599):HTTP status code (400, 401, 403, 404, 500, etc.).
Human-readable error description.
Machine-readable error code for programmatic handling.
Unique request identifier for debugging and support.
Rate Limiting
The API implements rate limiting to ensure fair usage:- IP-based: 5 requests per second per IP address
- Burst capacity: 5 requests
429 Too Many Requests response:
Retry-After header indicating how many seconds to wait:
CORS Support
The API implements CORS (Cross-Origin Resource Sharing) to allow browser-based applications to make requests:- Preflight requests are handled automatically
- Appropriate CORS headers are included in responses
- Authentication tokens are supported in cross-origin requests
Health Checks
Two health check endpoints are available without authentication:Basic service health check
Database connectivity health check
Getting Started
- Authenticate: Obtain a JWT token from Supabase Auth or create an API key
- Make requests: Include your token in the
Authorizationheader - Handle responses: Check the
statusfield and handle errors appropriately