The Bulk Identify Companies API allows you to create or update multiple company profiles in a single request. This is ideal for large-scale B2B data synchronization, initial company imports, or batch updates from your CRM or database systems.Documentation Index
Fetch the complete documentation index at: https://docs.userpilot.com/llms.txt
Use this file to discover all available pages before exploring further.
Endpoint
The endpoint URL uses the
analytex environment. For EU data residency, use
analytex-eu instead. See Environment
Settings for your specific endpoint.Headers
| Header | Value | Required |
|---|---|---|
Content-Type | application/json | Yes |
Authorization | Token {YOUR_API_KEY} | Yes |
Accept | application/json, text/plain, */* | Yes |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
companies | array | Yes | Array of company objects |
company_id | string | Yes | Unique identifier for the company |
metadata | object | No | Key-value pairs describing the company (primitives only) |
JSON Payload Example
Response
A successful call returns a job object:File Upload (NDJSON)
For very large updates, you may upload NDJSON files containing company profiles.Endpoint
Headers
| Header | Value | Required |
|---|---|---|
Content-Type | multipart/form-data | Yes |
Accept | application/json, text/plain, */* | Yes |
Authorization | Token {YOUR_API_KEY} | Yes |
Request Body
Submit the file using multipart/form-data. Include a key calledfile with your NDJSON file:
Rate Limits
The Bulk Updates API implements rate limiting to ensure efficient processing of large-scale company data operations while maintaining system stability. These limits help optimize performance for bulk company profile updates and synchronizations.Rate Limit Details
- Job Limitation: One job at a time - The system processes only one bulk update job at a time (either user or company bulk update)
- Company Processing: 1,800 companies per minute service consumption rate
- JSON Payload: Up to 10,000 records per request
- File Upload: Up to 50 MB file size
Error Responses
When you exceed these limits, the API returns:409 Conflict: Returned when attempting to create a new job while another is in progress413 Payload Too Large: Returned when file size exceeds 50 MB or payload exceeds 10,000 records
Best Practices
Limitations
- File size up to 50 MB (for file uploads).
- JSON/NDJSON list up to 10,000 companies per request.
- Only primitive types (string, number, boolean, null) are supported in metadata.
- A company will not appear on the dashboard unless at least one user is associated with it.
Best Practices
- Validate Your Data: Ensure each record includes the required
company_idand that metadata is formatted correctly. - Monitor Jobs: Always use the job monitoring endpoints to check the status of your bulk updates.
- Rate Limits and Retries: If you experience rate limits or timeouts, batch your requests and monitor job statuses before submitting more.
Troubleshooting
- Authentication Errors: Verify your API token and that it is sent in the
Authorizationheader. - Invalid Payload: Ensure your JSON/NDJSON is well-formed and required fields are present.
- Job Failures: Use the job status endpoint to inspect error messages for failed records or processing issues.