Credits and limits
Understand Search1API request costs, account balances, rate limits, and timeouts.
Search1API deducts credits after successful requests. Failed requests are not charged.
Request costs
| Endpoint | Credits |
|---|---|
POST /search | 1 |
POST /news | 1 |
POST /crawl | 1 |
POST /sitemap | 1 |
POST /trending | 1 |
POST /extract | 10 |
POST /deepcrawl | 20 |
GET /deepcrawl/status/{taskId} | free |
GET /usage | free |
Search with full page content
/search and /news have a dynamic cost when you set crawl_results:
1 credit for the search + 1 credit for each page crawled successfullyFor example, if crawl_results is 4 and three pages return content, the request costs 4 credits. The unsuccessful crawl is not charged. crawl_results cannot be greater than max_results.
Batch requests are calculated item by item. A failed item has a cost of zero even when other items in the batch succeed.
Free and paid credits
New accounts receive 100 credits without a credit card or expiration date. Subscriptions reset an allowance each month; one-time credit packs do not expire. When both balances are available, subscription credits are deducted before one-time credits.
See the pricing page for current plans and pack sizes.
Check your balance
curl https://api.search1api.com/usage \
-H "Authorization: Bearer YOUR_API_KEY"{ "usage": 24980 }The usage field is the number of credits remaining. When the balance cannot cover a successful request, the API returns 402 Payment Required instead of the original success response.
Rate limit
The standard limit is 200 requests per minute per API key. A request above the limit returns 429 Too Many Requests.
There is no Retry-After header. Retry with exponential backoff, starting around one second. Contact sys@search1api.com if you need a higher limit.
Client timeouts
Search and result-crawling operations can wait up to 20 seconds for an upstream service. Set the client timeout above that boundary; 30 seconds is a practical starting point.
POST /deepcrawl is asynchronous. A successful start returns 202 Accepted with a taskId; poll GET /deepcrawl/status/{taskId} for the result. Status checks cost no credits.
For status-specific recovery behavior, see Error handling.