> ## Documentation index
> Fetch the complete documentation index at: https://rankfield.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate limits

> See how much one Rankfield request or job can hold, what a busy server answers, and how to avoid 429 errors.

No endpoint has per-key rate limits or quotas for now. Every endpoint answers `429` with `Retry-After` when the server is busy; the table shows how much one job can hold.

## Per endpoint

| Endpoint | One request or job | When the server is busy |
|---|---|---|
| [Site Strength](/docs/site-strength/get-site-strength) | One domain per request. | `429` with `Retry-After` |
| [Referring Domains](/docs/referring-domains/get-referring-domains), [All Referring Domains](/docs/referring-domains/list-referrers), [Referrer Profile](/docs/referring-domains/get-referrer-profile) | CSV and JSONL lists over 50,000 rows become export jobs. | `429` with `Retry-After` |
| [Export jobs](/docs/referring-domains/start-an-export-job) | One domain's full list per job; one job at a time per key. | `409` while another export runs |
| [Link Extraction](/docs/link-extraction/extract-links) | Up to 600 URLs per job; a single-page request is a one-URL job. | `429` with `Retry-After` |
| [Suggest](/docs/suggest) (each engine) | Up to 10,000 keywords per job. | `429`, or `503` while an engine cools down, with `Retry-After` |
| [Scrape](/docs/scrape/scrape-a-page) | Up to 10,000 URLs per job. | `429` `busy` with `Retry-After` |
| [Bot View](/docs/bot-view/check-a-page) | Up to 10,000 URLs per job. | `429` `busy` with `Retry-After` |
| [Brand](/docs/brand/get-a-brand) | Up to 10,000 domains per job. | `429` `busy` with `Retry-After` |
| [Site Map](/docs/map/map-a-site) | Up to 1,000 domains per job. | `429` `busy` with `Retry-After` |

## When you get a 429

The server is busy. The answer has a `Retry-After` header in seconds: wait that long, then send the request again.

On Scrape, Bot View, Brand and Site Map, jobs from all keys share one queue: starting a job while it is full also answers `429` `busy`, with `Retry-After` of 60 seconds.

Suggest engines also show what you have used: `GET /v1/bing/suggest/usage` (or `/v1/ddg/suggest/usage`, `/v1/yahoo/search-predictions/usage`). See [Get usage and capacity](/docs/suggest/get-usage-and-capacity).

## Avoid 429 errors

- For many URLs or keywords, start a [batch job](/docs/get-started/batch-jobs) instead of sending many single requests.
- Reuse answers: page endpoints accept `maxAge`, which returns a recent stored copy instead of fetching the page again.
