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

# Start an export job

> Export every referring or outbound domain of a site as a CSV or JSONL file, however long the list.

`POST https://rankfield.dev/v1/jobs`

```bash cURL
curl -X POST 'https://rankfield.dev/v1/jobs' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"kind":"referrers-export","domain":"cloro.dev","format":"csv"}'
```

```python Python
import requests

response = requests.post(
    "https://rankfield.dev/v1/jobs",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={"kind": "referrers-export", "domain": "cloro.dev", "format": "csv"},
)
print(response.json())
```

```javascript JavaScript
const response = await fetch("https://rankfield.dev/v1/jobs", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"kind":"referrers-export","domain":"cloro.dev","format":"csv"}),
});
console.log(await response.json());
```

```json 202
{
  "id": "09aecabd-2230-4552-962a-c7a777724adb",
  "status": "queued",
  "kind": "referrers-export",
  "domain": "cloro.dev",
  "release": "2026-may-jun-jul",
  "buildId": "graph-2026mayjunjul-v3",
  "totalGraphRelationships": 68,
  "expiresAt": "2026-11-01T14:33:49.828Z",
  "statusUrl": "/v1/jobs/09aecabd-2230-4552-962a-c7a777724adb"
}
```

Use an export job for lists of any size. For up to 50,000 rows, `?format=csv` on [List All Referring Domains](/docs/referring-domains/list-referrers) is quicker.

## Parameters

### Headers

| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| `Authorization` | string | Yes | – | `Bearer` followed by your API key. See [Authentication](/docs/get-started/authentication). |

### Body

| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| `kind` | string | Yes | – | `referrers-export` (domains linking to it) or `outbound-export` (domains it links to). |
| `domain` | string | Yes | – | The domain, as for [Get Site Strength](/docs/site-strength/get-site-strength). |
| `format` | string | No | `csv` | `csv` or `jsonl`. |
| `minSiteStrength` | integer | No | `0` | Only domains with at least this Site Strength, 0–100. |
| `sort` | string | No | `strength_desc` | `strength_desc` or `strength_asc`. |

## Response

`202` with the job's `id`, `status` (`queued`), `totalGraphRelationships`, `expiresAt` and `statusUrl`. Follow `statusUrl` with [Get an export job](/docs/referring-domains/get-an-export-job).

For a domain that isn't in our link graph yet, the job is created already `completed`, with `"inGraph": false` and no rows: the file holds only the CSV header (or nothing, for JSONL).

## Errors

| Status | When |
|---|---|
| 400 | `kind`, `domain`, `format`, `minSiteStrength` or `sort` is invalid. |
| 401 | No valid API key. |
| 409 | This key already has an export running. Wait for it to finish. |
| 503 | The export service or the graph index is unavailable. Retry later. |

## Limits

No daily limit; one export job at a time per key. Finished exports are kept for 7 days.

## MCP

On the [MCP server](/docs/agents/mcp-server), the tool for this is `start_domain_export`.
