# Partner Integration API

> API reference for approved Firecrawl partners to create and manage API keys for their users

## Overview

The Firecrawl Partner Integration API allows approved partners to create and manage Firecrawl API keys for their users directly from within their own platform. This enables a seamless onboarding experience where users can start using Firecrawl without leaving the partner's platform.

<Note>
Partner API access is **only available to approved Firecrawl partners**. Partner keys are shared privately with approved partners. To apply for the partner program or request a partner API key, email [partnerships@firecrawl.dev](mailto:partnerships@firecrawl.dev).
</Note>

For details on what partner users receive, including credits, expiration, and plan limits, see [Partner Credits](/partner-credits).

## Base URL

```
https://integrations.firecrawl.dev
```

## Authentication

All Partner Integration API requests require an `Authorization` header with your partner key:

```bash
Authorization: Bearer <partner key>
```

Partner keys are distinct from standard Firecrawl API keys and are provided directly by the Firecrawl team.

## Security Requirements

- **Server-side only**: Partner keys must only be used in server-side code. Never expose a partner key in frontend code, client-side JavaScript, or mobile applications.
- **Terms of Service**: Before calling `POST /partner/v1/accounts`, your platform must prompt the user to accept Firecrawl's [Terms of Service](https://www.firecrawl.dev/terms-of-service).

---

## Endpoints

### Create user

Creates a Firecrawl API key associated with the user's email address.

```
POST /partner/v1/accounts
```

#### Behavior

- If the user does not yet have a Firecrawl account, a new user and team will be created.
- If the user already has a Firecrawl account but does not have a team associated with your partner integration, a new partner-associated team will be created.
- If the user already has a Firecrawl account and already has a team associated with your partner integration, the existing team is returned and the promotional coupon is **not** re-applied.

#### Request

```bash cURL
curl -X POST "https://integrations.firecrawl.dev/partner/v1/accounts" \
  -H "Authorization: Bearer <partner key>" \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com"}'
```

**Body**

| Field   | Type   | Required | Description              |
|---------|--------|----------|--------------------------|
| `email` | string | Yes      | The user's email address |

#### Response

**`200 OK`**

```json
{
  "apiKey": "fc-...",
  "alreadyExisted": false
}
```

| Field             | Type    | Description |
|-------------------|---------|-------------|
| `apiKey`          | string  | The Firecrawl API key for this user's partner-associated team |
| `alreadyExisted`  | boolean | `true` if both the user and the partner-associated team already existed. When `true`, the promotional coupon is not applied again. |

#### Errors

| Status | Description |
|--------|-------------|
| `401`  | Unauthorized - the partner key is incorrect or invalid |
| `500`  | Internal server error - these errors are monitored by Firecrawl |

---

### Validate API Key

Validates a Firecrawl API key and returns the associated team name and user email address. The API key will only return as valid if it was created through this partner integration.

```
POST /partner/v1/api-keys/validate
```

#### Important Notes

- Firecrawl API keys do not have permissions or an expiry date.
- API keys can be manually deleted by users at any time.
- Deleted API keys are not soft-deleted. Firecrawl cannot distinguish a deleted key from one that never existed.

#### Request

```bash cURL
curl -X POST "https://integrations.firecrawl.dev/partner/v1/api-keys/validate" \
  -H "Authorization: Bearer <partner key>" \
  -H "Content-Type: application/json" \
  -d '{"apiKey": "fc-..."}'
```

**Body**

| Field    | Type   | Required | Description               |
|----------|--------|----------|---------------------------|
| `apiKey` | string | Yes      | The API key to validate    |

#### Response

**`200 OK`**

```json
{
  "teamName": "Example Team",
  "email": "user@example.com"
}
```

| Field      | Type   | Description |
|------------|--------|-------------|
| `teamName` | string | The name of the team associated with this API key |
| `email`    | string | The email address of the user associated with this API key |

#### Errors

| Status | Description |
|--------|-------------|
| `401`  | Unauthorized - the partner key is incorrect or invalid |
| `404`  | API key not identifiable - the key does not exist or was not created through this partner integration |
| `500`  | Internal server error - these errors are monitored by Firecrawl |

---

### Rotate API Key

Deletes an existing Firecrawl API key and creates a new one for the same user and team.

```
POST /partner/v1/api-keys/rotate
```

#### Request

```bash cURL
curl -X POST "https://integrations.firecrawl.dev/partner/v1/api-keys/rotate" \
  -H "Authorization: Bearer <partner key>" \
  -H "Content-Type: application/json" \
  -d '{"apiKey": "fc-..."}'
```

**Body**

| Field    | Type   | Required | Description                     |
|----------|--------|----------|---------------------------------|
| `apiKey` | string | Yes      | The API key to delete and replace |

#### Response

**`200 OK`**

```json
{
  "apiKey": "fc-..."
}
```

| Field    | Type   | Description |
|----------|--------|-------------|
| `apiKey` | string | The newly created API key |

#### Errors

| Status | Description |
|--------|-------------|
| `401`  | Unauthorized - the partner key is incorrect or invalid |
| `404`  | API key not identifiable - the key does not exist or was not created through this partner integration |
| `500`  | Internal server error - these errors are monitored by Firecrawl |

---

## Become a Partner

Firecrawl's partner program is available to approved platforms. If you're interested in integrating Firecrawl into your platform and offering credits to your users, contact us at [partnerships@firecrawl.dev](mailto:partnerships@firecrawl.dev) to learn more and request a partner API key.
