Fetch Businesses
Filters businesses by country, company size, revenue, and more. Returns minimal data needed for further filtering, deduplication, or record previews.
Description
The Fetch Businesses endpoint allows users to retrieve business records based on filters such as country, industry, company size, and revenue. It returns a structured dataset optimized for further filtering, deduplication, or previewing records before enrichment. This enables precise data-driven decision-making and lead generation. It is designed to help users efficiently find relevant businesses based on their specific criteria.Coverage
Coverage
- 80M+ businesses across 150+ countries.
- Advanced filtering options for precise data extraction.
- Optimized for efficiency, returning only the minimal data needed for further processing.
How It Works
How It Works
- Input: Define filter parameters such as country, industry, revenue range, and company size.
- Processing: The system searches across multiple datasets to retrieve businesses that meet the criteria.
- Output: A structured response containing business records for further analysis or enrichment.
Request Schema
Request Schema
Pagination, Filtering & Modes Parameters
Pagination, Filtering & Modes Parameters
Data Fetching: Pagination, Filtering & Modes
The API supports flexible data fetching through pagination, filtering, and optional modes to customize the amount and structure of the returned data.Pagination
To efficiently retrieve large datasets, use the following parameters to paginate the results:| Parameter | Type | Description |
|---|---|---|
size | Number | The total maximum number of records to return across all pages. Must be ≤ 60,000. |
page_size | Number | Number of records to return per page. Maximum value: 100. |
page | Number | The page number to retrieve (1-based index). Defaults to 1 if not specified. |
Behavior Notes
- If
sizeis smaller thanpage_size * page, the last page may contain fewer records or be empty. - If pagination parameters are omitted, the API may return a default page size (implementation-specific).
Filtering
Filters allow you to narrow down results based on specific field values. All filters must be included in the request body under the"filters" key, as a JSON object.Each filter field accepts:values: for multiple possible matches (e.g."values": ["11-50", "51-200"])
Example Request Body
Filter Matching Logic
- Fields using
valuesare matched using an OR condition. - Filters are combined using an AND across different fields.
Mode Parameter
The optionalmode parameter defines the level of detail in the returned data.| Mode | Description |
|---|---|
full | Returns the complete data object for each prospect. Use this when full detail is required for processing or display. |
Best Practices
- Always use
page_sizeto control payload size for better performance. - Use
sizeto set an upper limit and avoid unintentionally requesting large datasets. - Apply filters whenever possible to reduce response size and processing time.
Note on Filter Usage
- Only one category filter can be used per request: choose from either
Google category,LinkedIn industry, orNAICS code. Combining them is not supported.
Example Request (cURL)
Example Request (cURL)
Business Filters
Business Filters
| Parameter | Description | Notes / Best Practices |
|---|---|---|
country_code | Filter accounts by their HQ’s country using alpha-2 country codes. Example: ["us", "ca"] | - Use autocomplete to search by country name and select the correct two-letter code. - Uses a list of values. - Logic checks whether the country code matches the account location. |
region_country_code | Filter accounts by their HQ’s region using ISO 3166-2 country-subdivision codes. Example: ["us-ut", "us-ca"] | - Use autocomplete to search for a region after selecting a country. Format will automatically apply as country-region (e.g., us-ca). - Uses multiple values. - Logic verifies if the region code matches the structured field. |
city_region_country | Filter accounts by geographic region, down to city-level granularity. Example: ["San Francisco, CA, US"] | - Use autocomplete with cascading dropdowns (country → region → city). - Accepts a list of full location strings. - Logic checks address fields for match. |
filters.city_region | Filter accounts by geographic region with city-level granularity. Example: ["New York--Jersey City--Newark, NY--NJ"] | - Use autocomplete to search and select the exact city region name as defined in the system. - Uses a list of values. - Only exact values returned by autocomplete are supported (free text is not supported). - Logic checks whether the account is mapped to the selected city region. |
company_revenue | Filter accounts by annual revenue generated at all company sites. Categories: ["0-500K", ..., "10B-100B"] | - Use autocomplete to search and select a revenue range from the predefined list. - Accepts a list of values. - Logic compares revenue input against company revenue fields. |
company_size | Filter accounts by the number of employees across all company sites. Categories: [1-10, 11-50, ..., 10001+] | - Uses predefined employee-range categories (list of values). - You can include multiple ranges to broaden results (e.g., ["51-200", "201-500"]). |
company_age | Filter accounts by how many years since they were established. Categories: ["0-3", "3-6", ..., "20+"] | - Use autocomplete to select a range representing company age. - Accepts multiple values. - Logic compares establishment year against current date to determine match. |
google_category | Filter accounts by their classified Google business category. Example: ["Paving contractor", "Retail"] | - Use autocomplete to search and select from Google’s list of business categories. - Accepts values. - Logic filters companies based on Google’s classification field. |
naics_category | Filter accounts by their 2017 NAICS industry code. Example: ["23", "5611"] | - Use autocomplete to search and select valid NAICS industry codes. - Uses multiple values. - Logic matches selected code to structured industry metadata. |
linkedin_category | Filter accounts by their classified LinkedIn® business category. Example: ["software development", "investment banking"] | - Use autocomplete to search and select from LinkedIn® list of industry categories. - Accepts a list of values. - Logic filters based on LinkedIn® business category field. |
company_tech_stack_category | Filter accounts by the technology categories they use. Example: ["Marketing", "CRM", "Cloud Services"] | - Use autocomplete to search and select technology categories from a predefined list. - Uses multiple values. - Logic checks whether the account is associated with technologies in those categories. |
company_tech_stack_tech | Filter accounts by the specific technologies they use. Example: ["JavaScript", "HTML5", "Apache"] | - Use autocomplete to search and select specific technologies from the available list. - Accepts a list of values. - Logic checks for presence of selected technologies in the company’s tech stack. |
company_name | Filter accounts by specific company names. Example: ["Google", "Walmart"] | - Use autocomplete to search and select company names. - Accepts one or more values. - Logic performs exact match. |
number_of_locations | Filter accounts by how many office locations they operate. Example: ["1", "2-5", "6+"] | - Use autocomplete to select location range. - Accepts a list of values. - Logic checks for company location count metadata. |
website_keywords | Filter accounts by specific keywords mentioned on their websites. Example: ["sustainability", "machine learning"] | - Use keyword search to find companies mentioning certain terms. - Accepts free-text keywords or predefined tags. - Logic performs keyword match in indexed website content. Use "OR" for broad discovery, "AND" for precise targeting. Existing usage without operator continues to work with OR logic. |
business_intent_topics.topics | Filters businesses based on active research around specific intent topics, returningbusiness_id values of companies demonstrating relevant interest. Example: ["machine learning & artificial intelligence: openai", "technology: iphone"] | - Accepts one or more topic strings following Bombora’s taxonomy. - Returns businesses with a composite score >60 for at least one matching topic. - Recommended for pre-filtering businesses prior to enrichment or campaign targeting - Use the autocomplete endpoint with business_intent_topics — and withsemantic_search=true — to discover broader and smarter intent-topic suggestions. Enabling semantic search helps surface wider contextual topics that users are actively researching, ensuring more accurate and effective filtering. |
events | Filter accounts by specific business event types (a list of event identifiers). Example: ["new_product", "employee_joined_company"] | - Must be used together with events.last_occurrence.- Uses a list of values. - The full list and definitions are available under Business Events. |
last_occurrence | Filter accounts based on whether the selected events occurred within the last N days. Example: 45 | - Must be used together with events.values.- Accepts an integer between 30 and 90. - Checks events that occurred within the last N days (lookback window). - See the full list of supported event types below. |
has_website | Filter businesses by whether they have a website. Categories: [True, False] | - Uses a list of boolean values. - Best practice: set to True to focus on companies with an online presence. |
is_public_company | Filter businesses by whether they are publicly traded (have a stock ticker). Categories: [True, False] | - Uses a list of boolean values. - Best practice: set to True when targeting enterprise/public companies with verified ticker data. |
include_operating_locations | When include_operating_locations=true (default), the location filter matches companies that operate in the requested area even if their HQ is elsewhere; when false, only HQ location is matched.Example: a search for companies in the UK can return Samsung when include_operating_locations=true (operations in the UK), but not when false if Samsung HQ is outside the UK. | - Default is true. - Use false when you want results strictly based on HQ location only. |
business_id | Filter businesses by a specific list of Explorium business IDs | Use this to re-filter or enrich a known set of businesses from previous queries or your own data. Accepts an array of IDs in the value field. Can be combined with other filters for further refinement. |
Full list of supported event_type values
Full list of supported event_type values
- increase_in_customer_service_department
- hiring_in_finance_department
- hiring_in_support_department
- increase_in_engineering_department
- decrease_in_customer_service_department
- hiring_in_operations_department
- hiring_in_creative_department
- decrease_in_engineering_department
- hiring_in_sales_department
- increase_in_operations_department
- hiring_in_trade_department
- decrease_in_marketing_department
- increase_in_marketing_department
- hiring_in_marketing_department
- hiring_in_health_department
- hiring_in_education_department
- increase_in_all_departments
- decrease_in_all_departments
- decrease_in_sales_department
- decrease_in_operations_department
- hiring_in_professional_service_department
- hiring_in_human_resources_department
- increase_in_sales_department
- hiring_in_legal_department
- hiring_in_unknown_department
- hiring_in_engineering_department
- company_award
- new_product
- employee_joined_company
- merger_and_acquisitions
- lawsuits_and_legal_issues
- outages_and_security_breaches
- closing_office
- new_investment
- new_office
- new_partnership
- cost_cutting
- new_funding_round
- award
- ipo_announcement
Body Params - Try Me Example
Authorizations
Body
The mode of fetching businesses.
full, preview "full"
The maximum number of businesses in a page. Max limit is 500
1 <= x <= 5003
null
The maximum number of businesses to return. Max size is 60000 (which is the default value)
1 <= x <= 600003
The page number to fetch.
x >= 11
List of business ids to exclude from the response.
1000^[a-f0-9]{32}$null
{}The sort values from the last document returned by the previous page. If provided, cursor pagination is used instead of page-based pagination. send "null" to start with next_cursor pagination from the beginning.
null
Response
Successful Response
- BusinessesFetchResponse
- BusinessesFetchResponseV2
This is base response model for all responses in partner service.
The total number of pages.
x >= 0List of businesses that match the filters.
The total number of businesses that match the filters.
x >= 0The page number of the response.
x >= 0