List organizations
Retrieve a list of organizations with pagination support.
Request
- Base URLhttps://api.commonroom.io/api/v2
- AuthHTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Query parameters
The maximum number of organizations to return per page
Pagination cursor from a previous response
Field to sort results by. One of: id, member_count, a lead-score ID (format ls_<number>), or a custom-field ID (format cf_<number>).
Sort direction
Comma-separated list of additional columns to include in the response. Valid column values: about, contactsCount, employees, linkedInUrl, profiles, revenueRangeMax, revenueRangeMin, subIndustry, technologies, location, leadScores, leadScoreKeyFactors, recentJobOpenings, recentNews, researchResults, surgingTopics, tags, topContacts, url. Use cf_* to include all custom fields, or cf_<id> for a specific one. The meta column recordCount can be requested to return the total number of matching organizations in meta.recordCount.
Filter organizations by exact name match
Filter organizations by primary domain (exact match)
Structured filter as URL-encoded JSON — see the LightFilterExpression schema for the grammar. Conditions are combined (AND) with the other query parameters.
Filterable fields:
| Field | Filter type | Operators | Description |
|---|---|---|---|
| companyName | stringFilter | eq, like | Filter organizations by name. |
| companyWebsite | stringFilter | eq, like | Filter organizations by website domain (e.g., "acme.com"). |
| groupSegmentId | stringListFilter | any, all, none | Filter organizations by segment membership. Use segment IDs from GET /segments. |
| groupLabelId | stringListFilter | any, all, none | Filter organizations by tag/label ID(s). Use tag IDs from GET /tags (e.g., "l_131504"). |
| groupLocationId | stringListFilter | any, none | Filter organizations by location ID(s). Use location IDs from GET /locations. |
| groupSubIndustry | stringListFilter | any, all, none | Filter organizations by industry label (e.g. "Software", "Financial Services"). |
| groupMemberCount | numberFilter | eq, ne, gt, gte, lt, lte | Filter organizations by number of members |
| groupRevenue | numberFilter | gt, gte, lt, lte | Filter organizations by estimated annual revenue. Lower bounds match the estimate's floor, upper bounds its ceiling. |
| groupCompanySize | numberFilter | eq, ne, gt, gte, lt, lte | Filter organizations by company size (number of employees) |
| groupLeadScorePercentile | leadScoreFilter | eq, ne, gt, gte, lt, lte | Filter organizations by lead score percentile (0-100). Requires a scoreId from GET /lead-scores. |
| ls_* | numberFilter | eq, ne, gt, gte, lt, lte | Filter organizations by a Point Value lead score's raw point total, using the score ID as the field name. May be negative or fractional. Only scores whose outputType is point_value match; use groupLeadScorePercentile for percentile scores. |
| groupWebVisitLastSeen | dateRangeFilter | in, between, after, before | Filter organizations by when anyone from the org last visited the website. |
| groupWebVisitFirstSeen | dateRangeFilter | in, between, after, before | Filter organizations by when anyone from the org first visited the website. |
| groupWebVisitPageViews | numberFilter | eq, ne, gt, gte, lt, lte | Filter organizations by total tracked web page-view count (all-time). |
| groupWebVisitPagesViewed | webVisitPages | any, none | Filter organizations by which web pages were visited within a window. Provide page URL patterns, an interval (ISO 8601 duration, e.g. "P30D"), and optional minimum page views. |
| groupNaicsCode | stringListFilter | any, none | Filter organizations by NAICS industry code(s). Values are numeric string codes (e.g. "517", "5112"). Discover codes via GET /industries. For industry labels instead, use groupSubIndustry. |
| groupTechStackId | stringListFilter | any, all, none | Filter organizations by tech stack product ID(s). Use product IDs from GET /tech-stack-products. |
| surgingTopics | stringListFilter | any, none, notEmpty | Filter organizations by Bombora surging topic name(s) — research topics the org is showing buying intent on (e.g. "Customer Data Platform", "Marketing Automation"). Pass topic names, not IDs; notEmpty (with a null value) matches organizations surging on any topic. |
| cf_* | stringFilter | varies by field type | Filter by custom field value. Use the custom field ID (e.g., "cf_3166091") as the field name. Find field IDs and their types via GET /custom-fields. Supports stringFilter for text fields, stringListFilter for enum/dropdown fields, numberFilter for numeric fields, booleanFilter for checkbox fields, and dateRangeFilter for date fields. |
Filtering by a related entity: a group whose target names another entity applies its clauses to that entity, using the fields of that entity's list endpoint. Every group must send target, objectConfigId and targetAssocPaths, using null for any it doesn't use. Targets this endpoint accepts:
| Target | Matches organizations | Clauses use |
|---|---|---|
| Organization (alias Company) | that match the clauses, the same as no target | the fields above |
| Contact (alias Member) | with at least one matching contact | GET /contacts fields |
| Object | associated with a matching custom object; set objectConfigId to its type (cot_<id>) | GET /objects fields |
| JobOpening | with a matching job posting (see below) | GET /job-openings fields |
| NewsItem | with at least one matching news item | GET /news-items fields |
Any other target returns a 400. JobOpening and NewsItem groups need null for both objectConfigId and targetAssocPaths. A clause using the none operator in one of them must be the group's only clause, and a JobOpening group does not accept jobOpeningLastSeen.
Job postings are matched in groups: an organization's postings that share status, seniority and first-seen day are stored together. Status, seniority and first-seen clauses therefore hold for the same posting, while title, keyword and location clauses can be met by different postings in that group.
Response
OK
Changes
No recorded changes to this operation across all 1 revision of this API.