Orbit Search uses a credit system to meter API usage. Credits are consumed per successful request, reserved before expensive work begins, and automatically refunded when a request fails or returns no results. Each month you receive a fresh grant of free credits to start from.Documentation Index
Fetch the complete documentation index at: https://docs.orbitsearch.com/llms.txt
Use this file to discover all available pages before exploring further.
Credit costs
| Operation | Credits |
|---|---|
Smart search (POST /v2/social/profiles/searches/smart) | 2 per successful search |
Profile read (GET /v2/developer/profiles/:id) | 1 per successful read |
How credit reservation works
Credits are reserved before the search executes. If your balance is too low to cover the cost of a request, the API rejects the request immediately — before any search work is done. This means a low-credit account fails fast rather than running a search and then failing on billing. If the search succeeds and returns results, the reservation is finalized and your balance decreases. If the search fails or returns no results (a404 response for an empty result set), the reservation is cancelled and your balance is restored. Failed validation, authentication, rate-limit, and system errors also do not consume credits.
Checking your remaining credits
Every successful metered response includes a header with your remaining balance:Out-of-credit error
When your balance is insufficient for a request, you receive a402 response:
requiredCredits field shows what the request would have cost. The remainingCredits field shows your current balance.
Credit subjects
Credits are metered against a subject, not an individual API key:- Personal API keys → credits charged to your personal account
- Organization API keys → credits charged to the organization
Monthly free grant
Your account receives a fresh credit grant at the start of each billing period. This grant resets every month — unused credits do not roll over. The default grant amount is set by your operator.Idempotency and safe retries
Send an
Idempotency-Key header on every search and profile read request. When your client retries after a network failure or timeout, the server matches the key to the original request and returns the cached response without charging credits again. If you omit the header, the server uses an internal request ID that only deduplicates within the same HTTP request — a retry from your client will be treated as a new request and charged separately.Idempotency error codes
| Code | HTTP status | Meaning |
|---|---|---|
developer_api_idempotency_key_conflict | 409 | You reused a key with different request parameters |
developer_api_idempotency_key_refunded | 409 | You reused a key from a request that was refunded (zero results or failure) |
developer_api_idempotency_key_refunded, the original request was refunded and the key is no longer usable for a new charge. Generate a new idempotency key and retry.
Rate limits
Rate limits are enforced per API key, not per IP address. Hitting a rate limit returns a429 response with error code developer_api_key_rate_limited.
| Endpoint | Default limit |
|---|---|
| Smart search | 60 requests per 60 seconds |
| Profile read | 120 requests per 60 seconds |
429) even when credits are available, and a request can be rejected for insufficient credits (402) even when the rate limit has capacity.