# Company Database Search API - 80M+ Business Records (`nabeelbaghoor/company-database-search-api`) Actor

Search a global database of 80M+ businesses by country, company size, revenue, industry and technology, and export firmographic records - name, domain, location, employee range, revenue range and NAICS. Pay per result. Bring your own API key.

- **URL**: https://apify.com/nabeelbaghoor/company-database-search-api.md
- **Developed by:** [Nabeel Hassan](https://apify.com/nabeelbaghoor) (community)
- **Categories:** Business, Developer tools, Lead generation
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00 / 1,000 business results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Company Database Search API - 80M+ businesses by size, revenue and industry

**Company Database Search API** turns a global business dataset of 80M+ companies into a clean, structured export. Search by country, company size, revenue, industry, technology and more, and export firmographic records - name, domain, location, employee range, revenue range and NAICS industry - as JSON, CSV or Excel.

Bring your own API key and pay only for the records you keep.

### Why use this actor?

- **Firmographic screening** - filter a large company universe by country, size, revenue, age and industry.
- **Technographics** - narrow to businesses using specific technologies such as Shopify, Salesforce or HubSpot.
- **Precise industry targeting** - filter by NAICS, Google or LinkedIn categories.
- **Clean, flat output** - name, domain, website, description, country, city, employee range, revenue range and NAICS industry, parsed into columns.
- **Advanced filters** - use simple fields for common cases, or pass a raw filters object for full control.
- **Pay per result** - you are charged only for the business records actually returned, up to 10,000 per run.

### Use cases

- **TAM building** - size a total addressable market by geography, size and industry.
- **Lead generation** - build target account lists filtered by firmographics and technographics.
- **Market mapping** - map a sector's players and segment them by revenue or headcount band.
- **CRM enrichment** - append firmographics and industry codes to your existing accounts.
- **Competitive research** - find companies using a given technology or in a given category.

### Input

Configure everything from the visual editor - every filter is a proper field, no code needed. Example JSON input:

```json
{
  "countryCodes": ["us"],
  "companySize": ["51-200", "201-500"],
  "companyRevenue": ["10M-25M", "25M-75M"],
  "linkedinCategories": ["Software Development"],
  "maxResults": 100,
  "apiKey": "YOUR_API_KEY"
}
```

For filters beyond the built-in fields, pass a raw filters object:

```json
{
  "rawFilters": {
    "country_code": { "values": ["us", "ca"] },
    "company_tech_stack_tech": { "values": ["Shopify"] },
    "number_of_locations": { "values": ["1"] }
  },
  "maxResults": 250,
  "apiKey": "YOUR_API_KEY"
}
```

### Output

One clean JSON object per business:

```json
{
  "business_id": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4",
  "name": "Acme Analytics",
  "domain": "acme.com",
  "website": "https://acme.com",
  "business_description": "Analytics software for retailers.",
  "country_name": "United States",
  "region": "California",
  "city_name": "San Francisco",
  "number_of_employees_range": "51-200",
  "yearly_revenue_range": "10M-25M",
  "naics": 5112,
  "naics_description": "Software Publishers",
  "linkedin_profile": "https://www.linkedin.com/company/acme"
}
```

### Do I need an API key?

Yes. This actor calls a business data API on your behalf, which requires your own **API key**. Get a key from the provider, paste it into the input, and run. Your key is stored securely and never logged.

### Pay per result

You pay only for the business records the actor actually returns - no subscriptions, no minimums. Set **Maximum results** to cap each run's spend exactly.

### FAQ

#### What is the Company Database Search API?

It is a business data API backed by a global database of more than 80 million companies across 150+ countries. It lets you search that universe by firmographic and technographic filters and returns structured records - name, domain, location, employee range, revenue range and NAICS industry. This actor runs that search and exports the matches as JSON, CSV or Excel.

#### What filters can I use?

Built-in fields for country, region, company size, revenue, age, NAICS/Google/LinkedIn category, technologies used, website keywords, company name, has-website and public/private. For anything else, pass a raw filters object in the Advanced field using the API's documented filter keys.

#### What size and revenue bands are supported?

Employee bands run from 1-10 up to 10001+, and revenue bands from 0-500K up to 10T+. Select one or more of each; multiple values are combined as OR.

#### How many results can I get per run?

Up to 10,000 business records per run, paged automatically. For larger universes, split the search by country, size band or industry across multiple runs.

#### How much does it cost?

Pricing is pay-per-result: a small fixed amount per business record returned, plus standard Apify platform usage, plus your own API usage against your key. A run that returns nothing costs almost nothing.

#### Can I run this on a schedule?

Yes. Use Apify Schedules to run it daily or weekly and connect the dataset to Zapier, Make, n8n, webhooks or the API to push new accounts into your CRM or data warehouse.

#### Is this legal?

The actor returns company-level firmographic data retrieved through a licensed API using your own credentials. It focuses on business data, not personal data.

### Keyword map

company database api, business search api, firmographics api, company data api, b2b data api, technographics api, naics industry api, company size revenue filter, lead generation api, tam data api, account list building, business enrichment api.

### Support and feedback

Found an issue or missing a filter? Open an issue in the **Issues** tab - it is monitored daily.

# Actor input Schema

## `countryCodes` (type: `array`):

Filter to businesses in these countries by ISO 3166-1 alpha-2 code, lowercase, e.g. `us`, `gb`, `de`. Combined as OR.

## `regionCountryCodes` (type: `array`):

Filter to businesses in these regions/states, e.g. `us-ny`, `us-ca`, `us-ut`. Combined as OR.

## `companySize` (type: `array`):

Filter by employee-count band. Select one or more.

## `companyRevenue` (type: `array`):

Filter by yearly revenue band. Select one or more.

## `companyAge` (type: `array`):

Filter by company-age band, e.g. `0-3`, `3-6`, `6-10`, `10-20`, `20+`. Combined as OR.

## `naicsCategories` (type: `array`):

Filter by NAICS industry codes, e.g. `54` (Professional services), `5112` (Software publishers). Combined as OR.

## `googleCategories` (type: `array`):

Filter by Google business categories, e.g. `Software company`, `Marketing agency`. Combined as OR.

## `linkedinCategories` (type: `array`):

Filter by LinkedIn industry categories, e.g. `Software Development`, `Financial Services`. Combined as OR.

## `techStack` (type: `array`):

Filter to businesses using these technologies, e.g. `Shopify`, `Salesforce`, `HubSpot`. Maps to the technographics filter. Combined as OR.

## `websiteKeywords` (type: `array`):

Filter to businesses whose website mentions these keywords.

## `websiteKeywordsOperator` (type: `string`):

Whether a business must match ANY (OR) or ALL (AND) of the website keywords.

## `companyName` (type: `string`):

Filter to businesses matching this company name.

## `hasWebsite` (type: `string`):

Restrict to businesses that do or do not have a website.

## `isPublicCompany` (type: `string`):

Restrict to public or private companies.

## `rawFilters` (type: `object`):

Power users: a raw `filters` object merged into the request, e.g. `{ "number_of_locations": { "values": ["1"] } }`. Keys set here override the fields above. See the businesses API documentation for all supported filter keys.

## `startPage` (type: `integer`):

1-based page to start from. Increase to skip earlier results.

## `maxResults` (type: `integer`):

Stop after this many business records (1-10,000). Paged automatically. You are charged per result returned.

## `apiKey` (type: `string`):

Your business data API key. Required. Obtain a key from the provider. Stored securely and never logged.

## Actor input object example

```json
{
  "websiteKeywordsOperator": "OR",
  "hasWebsite": "any",
  "isPublicCompany": "any",
  "startPage": 1,
  "maxResults": 100
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("nabeelbaghoor/company-database-search-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "maxResults": 100 }

# Run the Actor and wait for it to finish
run = client.actor("nabeelbaghoor/company-database-search-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxResults": 100
}' |
apify call nabeelbaghoor/company-database-search-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nabeelbaghoor/company-database-search-api",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/sqxNDtgnPSKArdxFU/builds/RvpkSvj92D5M1ryxN/openapi.json
