# Business Revenue Data API - Firmographics and Card Revenue (`nabeelbaghoor/business-revenue-data-api`) Actor

Search US businesses and brands and export firmographics with card-transaction revenue estimates, year-over-year growth, industry (NAICS), locations and operating status. Pay per result. Bring your own API key.

- **URL**: https://apify.com/nabeelbaghoor/business-revenue-data-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

$18.00 / 1,000 company 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

## Business Revenue Data API - firmographics and card-transaction revenue

**Business Revenue Data API** turns US business and brand data into a clean, structured export. Search by business name (and optionally by address), and get back firmographics enriched with card-transaction revenue estimates, year-over-year growth, industry (NAICS), location counts and operating status - as JSON, CSV or Excel.

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

### Why use this actor?

- **Card-transaction revenue estimates** - projected revenue for each business over a trailing 12-month, 3-month or 1-month window, derived from anonymized US card-spend data.
- **Year-over-year growth** - a revenue growth signal per business, useful for spotting momentum and decline.
- **NAICS industry** - industry description, code and type for clean segmentation and filtering.
- **Locations and operating status** - operating-location counts for brands, plus operating status for individual locations.
- **Brands, locations and legal entities** - choose the record type that fits your workflow.
- **Pay per result** - you are charged only for the records actually returned, up to 2,000 per run.

### Use cases

- **Sales and account research** - build target lists of US businesses ranked by estimated card revenue and growth.
- **Market sizing** - estimate revenue across an industry (NAICS) or a geography.
- **Lead scoring and prioritization** - enrich accounts with a revenue and momentum signal.
- **Investment and diligence** - screen consumer businesses by revenue trend before outreach.
- **Data enrichment** - append revenue estimates, industry codes and location counts to your CRM records.

### Input

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

```json
{
  "name": "Starbucks",
  "entityType": "BRAND",
  "city": "Seattle",
  "state": "WA",
  "period": "12m",
  "maxResults": 100,
  "apiKey": "YOUR_API_KEY"
}
```

Look up a specific record directly by ID:

```json
{
  "id": "your-brand-id",
  "entityType": "BRAND",
  "period": "3m",
  "maxResults": 1,
  "apiKey": "YOUR_API_KEY"
}
```

#### Input fields

- **Business name** - the business or brand to search for.
- **Entity type** - `Brand (company)`, `Operating location`, or `Legal entity`. Brand is the default and carries card-revenue estimates.
- **Record ID** - optional direct lookup by brand or entity ID.
- **Address filter** - optional street, city, state and postal code to narrow the search (US only).
- **Card revenue window** - `12m`, `3m` or `1m` window for the revenue estimate and year-over-year growth.
- **Maximum results** - cap on records returned per run (1-2,000). You are charged per result.
- **API key** - your own provider key, sent as the `x-api-key` header.

### Output

One clean JSON object per business:

```json
{
  "entity_type": "Brand",
  "id": "brand-123",
  "enigma_id": "e-123",
  "name": "Example Coffee Co",
  "names": ["Example Coffee Co"],
  "industry_desc": "Snack and Nonalcoholic Beverage Bars",
  "industry_code": "722515",
  "industry_type": "NAICS",
  "industries": [
    { "industryDesc": "Snack and Nonalcoholic Beverage Bars", "industryCode": "722515", "industryType": "NAICS" }
  ],
  "website": "https://example-coffee.com",
  "websites": ["https://example-coffee.com"],
  "location_count": 42,
  "revenue_period": "12m",
  "revenue_amount": 18500000,
  "revenue_yoy_growth": 0.081,
  "card_transactions": [
    { "quantityType": "card_revenue_amount", "period": "12m", "projectedQuantity": 18500000, "periodStartDate": "2025-07-01", "periodEndDate": "2026-06-30" },
    { "quantityType": "card_revenue_yoy_growth", "period": "12m", "projectedQuantity": 0.081, "periodStartDate": "2025-07-01", "periodEndDate": "2026-06-30" }
  ]
}
```

The `revenue_amount` and `revenue_yoy_growth` convenience fields are pulled from the card-transaction rows for the window you selected, so you do not have to parse the raw connection.

### Do I need an API key?

Yes. This actor calls a business revenue data API on your behalf, which requires your own API key. The underlying provider is Enigma, whose business and card-transaction data is enterprise-provisioned; obtain a key from the provider, paste it into the input, and run. The key is sent as the `x-api-key` header, stored securely and never logged.

### Pay per result

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

### FAQ

#### What is the Business Revenue Data API?

It is a US business data API that returns firmographics enriched with card-transaction revenue estimates. For each business you get an estimated revenue figure, a year-over-year growth signal, NAICS industry, operating-location counts and operating status. This actor runs the search and exports the matches as JSON, CSV or Excel.

#### Where does the revenue figure come from?

The revenue estimate is derived from anonymized US card-transaction spend, projected to a full revenue figure for the selected window (12, 3 or 1 month). It is a modeled estimate of card-based revenue for US businesses, not a filed financial statement, and it covers US businesses only.

#### Does it include employee count?

No. Employee count is not provided by this data source. The firmographics available are industry (NAICS), websites, operating-location counts and operating status, plus the card-revenue estimate and growth.

#### What can I search by?

By business or brand name, and optionally by a US address (street, city, state, postal code). You can also look up a specific record directly by its ID. Choose whether to return brands, individual operating locations, or legal entities.

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

Up to 2,000 records per run. To collect more, split your search by name, geography or industry across multiple runs.

#### How much does it cost?

Pricing is pay-per-result: a small fixed amount per 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 records into your CRM, data warehouse or lead-scoring pipeline.

#### Is this US-only data?

Yes. The card-transaction-derived revenue estimates and firmographics cover US businesses.

### Keyword map

business revenue api, company revenue data api, card transaction revenue, small business revenue estimate, firmographics api, naics industry api, business location data, brand revenue api, us business data api, revenue growth signal api, business intelligence api, sales prospecting data api, account enrichment api.

### Support and feedback

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

# Actor input Schema

## `name` (type: `string`):

Business or brand name to search for, e.g. `Starbucks` or `Joe's Coffee`. Leave blank if you are looking up a record directly by ID.

## `entityType` (type: `string`):

What kind of record to return. `Brand (company)` returns the parent business with card-revenue estimates and industry. `Operating location` returns individual store or branch locations. `Legal entity` returns the registered legal entity.

## `id` (type: `string`):

Optional. Look up a specific record directly by its brand or entity ID instead of searching by name.

## `street1` (type: `string`):

Optional street address to narrow the search, e.g. `123 Main St`. Address filters apply to US businesses only.

## `city` (type: `string`):

Optional city to narrow the search, e.g. `Seattle`.

## `state` (type: `string`):

Optional two-letter US state code to narrow the search, e.g. `WA`.

## `postalCode` (type: `string`):

Optional US ZIP code to narrow the search, e.g. `98101`.

## `period` (type: `string`):

Time window for the card-transaction revenue estimate and year-over-year growth. `12m` is a trailing twelve-month view; `3m` and `1m` are shorter, more recent windows.

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

Stop after this many records (1-2,000). You are charged per result returned. Note: employee count is not available from this data source.

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

Your business data provider API key, sent as the `x-api-key` header. Required. Bring your own key from the data provider. Stored securely and never logged.

## Actor input object example

```json
{
  "entityType": "BRAND",
  "period": "12m",
  "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/business-revenue-data-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/business-revenue-data-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/business-revenue-data-api --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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