Skip to main content

Base URL

All API requests are made to:
https://api.crustdata.com

Authentication

Every request must include a Bearer token in the authorization header.
--header 'authorization: Bearer YOUR_API_KEY'
You can get your API key from the Crustdata dashboard.
Keep your API key secret. Do not expose it in client-side code or public repositories.

API versioning

Include the x-api-version header in every request. The current version is 2025-11-01.
--header 'x-api-version: 2025-11-01'
Requests without a version header will default to the latest version, which may introduce breaking changes. Always pin to a specific version.

Request format

All endpoints accept JSON request bodies with content-type: application/json.
curl --request POST \
  --url https://api.crustdata.com/dataset/company/identify \
  --header 'authorization: Bearer YOUR_API_KEY' \
  --header 'content-type: application/json' \
  --header 'x-api-version: 2025-11-01' \
  --data '{"company_domains": ["retool.com"]}'

Response format

All responses return JSON. Successful responses return a 200 status code with the data in the response body.

Error responses

Error responses return a JSON object with an error field and a details field explaining the issue.
Most APIs use description for the details field. The Person API uses reason instead.
{
    "error": "Invalid Request",
    "description": "Exactly one identifier must be provided."
}
Person API
{
    "error": "Invalid Request",
    "reason": "Input should be a valid dictionary"
}

HTTP status codes

Status codeMeaningDescription
200SuccessRequest completed successfully.
400Bad RequestInvalid request parameters or malformed input.
401UnauthorizedMissing or invalid API key.
403ForbiddenAPI key does not have access to this endpoint.
404Not FoundRequested resource not found.
500Internal Server ErrorUnexpected server-side failure. Try again later.

Error response examples

{
  "error": "bad_request",
  "description": "Invalid request body."
}
{
  "error": "Unauthorized",
  "description": "Missing or invalid API key."
}
{
  "error": "forbidden",
  "description": "API key does not have access to this endpoint."
}
{
  "error": "Not Found",
  "description": "Company not found."
}
{
  "error": "Internal Server Error",
  "description": "An unexpected error occurred. Please try again later."
}

Rate limits

API requests are rate-limited per API key. See Rate limits for details on limits and best practices.

Endpoints

The API has 16 endpoints across six resource types:

Company API

MethodPathDescription
POST/dataset/company/searchSearch companies with filters
POST/dataset/company/identifyResolve a domain, URL, or name to a company
POST/dataset/company/enrichGet a full company profile
POST/dataset/company/search/autocompleteAutocomplete company search fields
POST/dataset/company/search/realtimeRealtime search company

Person API

MethodPathDescription
POST/dataset/person/searchSearch people using filters and sorting
POST/dataset/person/enrichEnrich person profiles from cached dataset
POST/dataset/person/search/autocompleteGet field value suggestions for building search filters

GitHub API

MethodPathDescription
POST/dataset/dev_platform/enrichEnrich person with GitHub data

Glassdoor API

MethodPathDescription
POST/dataset/employee_review/enrichEnrich company with employee review data

Social Post API

MethodPathDescription
POST/dataset/social_post/enrichFetch social posts by person, post URL, or company
POST/dataset/social_post/searchSearch social posts by keyword and filters
POST/dataset/social_post/search/autocompleteAutocomplete suggestions for social post filter fields

Web API

MethodPathDescription
POST/dataset/web/searchPerform web search
POST/dataset/web/fetchFetch web content

Company API

Search, identify, and enrich 80M+ company records.

Person API

Search and enrich 700M+ professional profiles.

GitHub API

Enrich person profiles with GitHub data.

Glassdoor API

Get employee review data for companies.

Social Post API

Search and enrich social media posts.

Web API

Search the web and fetch page content.