Skip to main content
The Conversion API lets you programmatically manage contacts and their associated data. All endpoints use JSON request and response bodies over HTTPS.

Base URL

All API requests are made to the following base URL:

Request format

All requests must include the Content-Type: application/json header and send a JSON request body.

Rate limits

All API endpoints share a rate limit of 200 requests per second. For high-volume writes, use the batch endpoints.

Response envelope

Every response uses a consistent JSON envelope. Successful responses return a data object. Failed responses return an error object.

HTTP status codes

Error codes

When a request fails, the error.code field contains a machine-readable error code. Use these codes for programmatic error handling.

Pagination

List endpoints (such as List Fields) use opaque cursor-based pagination. The page size is controlled by the limit query parameter; each endpoint documents its default and maximum, and values are clamped to the allowed range rather than rejected. Paginated responses include a pagination object alongside data. Its nextCursor field holds the token for the next page, or null when there are no more results — this is the single source of truth for whether more results exist (there is no separate hasMore flag). Pass the returned value back as the cursor query parameter to fetch the next page. Treat the cursor as a black box; an invalid or malformed cursor returns an invalid_cursor error.
Batch (write) endpoints do not use pagination and accept up to 1,000 contacts per request.