List companies
Returns a paginated list of companies in the authenticated workspace. Supports cursor-based pagination, filtering by multiple fields, and configurable sorting.
Authorization
apiKey API key from your nodestash dashboard. Pass as a Bearer token in the Authorization header.
In: header
Query Parameters
Opaque pagination cursor returned as next_cursor in a previous response. Pass this to fetch the next page.
Maximum number of companies to return per page.
"20"Filter by company name (case-insensitive substring match).
Filter by domain (case-insensitive substring match).
Filter by industry (case-insensitive substring match).
Filter by company size (exact match).
Filter by tags (comma-separated). Companies must contain all specified tags.
Comma-separated sort fields. Prefix with - for descending order. Supported fields: created_at, updated_at, name, domain. Default: -created_at.
Response Body
application/json
application/json
application/json
curl -X GET "https://api.nodestash.io/v1/companies?name=Acme&domain=acme.com&industry=Technology&size=51-200&tags=partner%2Centerprise&sort=-created_at"{
"data": [
{
"id": "co_7rT4mK9pQsVwXyZaB2cD4",
"type": "company",
"attributes": {
"id": "co_7rT4mK9pQsVwXyZaB2cD4",
"name": "Acme Corp",
"domain": "acme.com",
"industry": "Technology",
"size": "51-200",
"custom_fields": {
"tier": "enterprise"
},
"tags": [
"partner",
"enterprise"
],
"created_at": "2026-01-10T09:00:00Z",
"updated_at": "2026-01-10T09:00:00Z"
}
},
{
"id": "co_3xK8nM2qTsYvAzCe5fH7",
"type": "company",
"attributes": {
"id": "co_3xK8nM2qTsYvAzCe5fH7",
"name": "Globex Inc",
"domain": "globex.io",
"industry": "Finance",
"size": "201-500",
"custom_fields": {},
"tags": [
"prospect"
],
"created_at": "2026-01-08T14:20:00Z",
"updated_at": "2026-01-08T14:20:00Z"
}
}
],
"meta": {
"request_id": "req_abc123def456",
"pagination": {
"next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNi0wMS0wOFQxNDoyMDowMFoiLCJpZCI6ImNvXzN4SzhuTTJxVHNZdkF6Q2U1Zkg3In0",
"has_more": true
}
}
}{
"error": {
"code": "INVALID_API_KEY",
"message": "Missing or invalid Authorization header"
},
"meta": {
"request_id": "req_abc123def456"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded"
},
"meta": {
"request_id": "req_abc123def456"
}
}Get a company
Retrieves a single company by ID. Use the `include` parameter to embed related resources such as linked contacts or a contact count.
Update a company
Partially updates a company. Only the provided fields are changed — omitted fields remain untouched. `custom_fields` are **merged** with existing values (not replaced). If `domain` is changed, uniqueness within the workspace is enforced.