# Bizapedia Scraper \[$5/1K💰] | US Company Data | FEIN (`ahmed_jasarevic/bizapedia-scraper`) Actor

Extract US company records from Bizapedia — entity type, registration state, incorporation date, status, file number, FEIN/EIN, NAICS and SIC codes, registered agent and officers — as structured JSON. Built for B2B lead generation, KYB checks and market research. $5 per 1,000 company records.

- **URL**: https://apify.com/ahmed_jasarevic/bizapedia-scraper.md
- **Developed by:** [Ahmed Jasarevic](https://apify.com/ahmed_jasarevic) (community)
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.90 / 1,000 company records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Bizapedia Scraper — US Company Registry Data

Extract US business entity records from Bizapedia — company name, entity type, state of registration, incorporation date, status, file number, FEIN/EIN, NAICS/SIC industry codes, website, plus phone, email, registered agent, principal address, officers and filing history — as structured JSON, from $5 per 1,000 company records.

**Built for:**

- B2B lead generation and sales prospecting
- Company verification and KYB (know-your-business) checks
- Market research on US business formations by state and industry
- Building structured US company databases
- Investment and due-diligence research

### Scrape US Company Records Without The Bizapedia Pro API

Search Bizapedia by company name and state, or hand it a list of company pages, and the actor walks each result and returns a clean, typed record per entity. The free site shows only a handful of results per search without a Pro account — this actor still returns the records it can reach and, with an optional Bizapedia Pro API key, unlocks full-profile access including officers, filing history and contact data. Every row keeps the Bizapedia profile URL as its source, so results are traceable.

### How It Works

![How the Bizapedia Scraper works: company searches become US registry rows with FEIN, NAICS, agents, officers and filing history.](https://api.apify.com/v2/key-value-stores/oeuA0kLOyhbRM4fzt/records/how-it-works-bizapedia-scraper)

The Actor searches Bizapedia by company name and state, or opens supplied profile URLs, then parses the structured data blocks on each public company page. A Bizapedia Pro key can switch enrichment to the official API for full contact, officer and filing records.

Each row covers one entity with its legal name, type, state, incorporation date, status, file number, FEIN, NAICS/SIC codes, website, registered agent, address and completeness marker. Officers and filing history are included when the profile publishes them.

Bizapedia publishes publicly accessible company profile pages. This actor:

1. **Searches** Bizapedia by company `name` and `state` (or reads a list of `startUrls`), parsing the search-result rows (name, entity type, state, status, file number).
2. **Fetches each profile page** and parses the structured "data blocks" — incorporation date, FEIN, industry (NAICS/SIC), website, registered agent, principal address, and the officers and filing-history tables when present.
3. **Optionally calls the Bizapedia Pro API** when you supply `apiKey`, which returns the full profile (contact fields, officers, complete filing history) in one request.

The free Bizapedia site requires a US residential IP to show profile data without a login, so the actor defaults to Apify Proxy with a **US residential** configuration.

### Input Parameters

| Field | Type | Required | Default | Notes |
| --- | --- | --- | --- | --- |
| `startUrls` | array | No | `[]` | Bizapedia search or profile URLs to process directly. Use either this or `companies`. |
| `companies` | array | No | `[]` | Search terms: `[{ "name": "Acme Corp", "state": "DE" }]`. The actor searches Bizapedia for each. |
| `maxItems` | integer | No | `10` | Maximum number of company records to return. Free access is capped at 10 records. |
| `apiKey` | string | No | `""` | Optional Bizapedia **Pro** API key. When set, full profiles are fetched via the Pro API instead of page parsing. |
| `fetchFullDetails` | boolean | No | `true` | Fetch each company's full profile page for officers, filing history and contact fields (when available). |
| `proxy` | object | No | US residential | Standard Apify proxy picker; defaults to a **US residential** configuration, which the free Bizapedia site requires. |
| `debug` | boolean | No | `false` | Verbose logging. |

### Output Fields

| Field | Description |
| --- | --- |
| `companyName` | Legal company name from the Bizapedia profile |
| `entityType` | Entity type (LLC, Corporation, LP, etc.) |
| `stateOfRegistration` | US state where the entity is registered |
| `incorporationDate` | Date of incorporation / registration |
| `status` | Current entity status (Active, Dissolved, etc.) |
| `fileNumber` | State filing / document number |
| `fein` | Federal Employer Identification Number (EIN/FEIN), when published |
| `industry`, `naics`, `sic` | Industry label and NAICS / SIC codes |
| `website` | Company website on file |
| `phone`, `email` | Company contact data, when published |
| `registeredAgent` | Registered agent name (and address, when present) |
| `principalAddress` | Principal office address |
| `officers` | Officers / directors list, when published |
| `filingHistory` | Filing history entries, when published |
| `completeness` | Field-completeness indicator for the record |
| `sourceUrl`, `scrapedAt` | Bizapedia profile URL and ISO timestamp |

**View:** the Output tab has a **Companies** table (name, entity type, state, incorporation date, status, file number, FEIN, industry, website, URL).

### Example Input

```json
{
  "companies": [
    { "name": "Stripe Inc", "state": "DE" },
    { "name": "Acme Holdings LLC", "state": "TX" }
  ],
  "maxItems": 10,
  "fetchFullDetails": true,
  "proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US" }
}
```

Profile-URL run:

```json
{
  "startUrls": [{ "url": "https://www.bizapedia.com/de/stripe-inc.html" }],
  "maxItems": 5,
  "fetchFullDetails": true
}
```

### Example Output

```json
{
  "companyName": "STRIPE INC",
  "entityType": "Corporation",
  "stateOfRegistration": "Delaware",
  "incorporationDate": "2011-07-01",
  "status": "Active",
  "fileNumber": "5028926",
  "fein": "45-4245140",
  "industry": "Financial Services",
  "naics": "522320",
  "sic": "7389",
  "website": "stripe.com",
  "registeredAgent": "The Corporation Trust Company",
  "principalAddress": "1201 Orange St, Wilmington, DE 19801",
  "officers": [
    { "name": "Patrick Collison", "title": "CEO" }
  ],
  "completeness": "partial",
  "sourceUrl": "https://www.bizapedia.com/de/stripe-inc.html",
  "scrapedAt": "2026-10-20T09:00:00.000Z"
}
```

### Automate US Company Verification With Schedules & Webhooks

- **Lead enrichment:** webhook new rows into a CRM and append FEIN, NAICS and registered agent to your accounts.
- **Formation monitoring:** schedule a weekly run per state and industry to track newly registered companies for outbound sales.
- **KYB / compliance checks:** schedule periodic re-checks of a portfolio of company names and diff on `status` to catch dissolutions and reinstatements.
- **Market research:** aggregate incorporations by `stateOfRegistration` and `naics` to size a vertical. Recurring runs also improve this actor's Store recommendation signals.

### Related Actors

- [OpenCorporates Scraper — Company Data & Officers](https://apify.com/ryanclinton/opencorporates-search) — the most-used shared company-registry actor; the international cross-check to Bizapedia's US coverage.
- [OpenCorporates Alternative Scraper — Company Registry Data](https://apify.com/devilscrapes/opencorporates-alternative-scraper) — alternative company-registry extraction beyond the OpenCorporates API caps.
- [Business Registration Lookup - SEC EDGAR & Companies House](https://apify.com/nexgendata/business-registration-lookup) — verify a company legally exists via SEC EDGAR (US) and Companies House (UK); the official-registry counterpart to Bizapedia records.
- [Indian Company Data Scraper — Registry & Directors](https://apify.com/foxlabs/indian-company-data) — registry data for India; pair it for cross-border company research.
- [OpenCorporates Real-Time Data Scraper - Company Registry Data](https://apify.com/b2b_leads/opencorporates-real-time-data-scraper) — real-time company-registry records; an alternative international aggregator alongside Bizapedia.

### Frequently Asked Questions

#### Why use this actor instead of the official API?

Bizapedia **does** offer an official Pro API (`bizapedia.com/pro-api.aspx`, REST, ~180,000 calls/yr on the API tier) — but it is **paid** (Pro Search from about $199/year), so it is out of reach for one-off or low-volume research and is billed whether or not you need full profiles. This actor reaches the same public profile pages directly and is pay-per-result, so small jobs cost a few cents. When you already have a Pro key, pass it in `apiKey` and the actor will use the official API for full profiles.

#### What are the alternatives to Bizapedia?

1. **OpenCorporates** — the largest open company registry aggregator (international), with its own paid API and several Apify actors.
2. **Bizapedia Pro API** — official, paid, includes a Bizapedia **MCP** server for AI tooling.
3. **State Secretary-of-State registries** — authoritative and free per state, but 50 separate systems with no uniform API.
4. **Third-party aggregators** (managed scraping services, SOSfinder-style multi-state APIs) — convenience at a per-call price.
5. **This actor** — public Bizapedia pages, pay-per-result, optional Pro-key upgrade.

#### Is the output "every US company"?

No. Bizapedia is one aggregator of state registry data and this actor returns the records reachable through Bizapedia for your search terms, capped by `maxItems`. Coverage varies by state and by what Bizapedia publishes on each profile.

#### Why is a US IP needed?

The free Bizapedia site only shows profile data to visitors from US residential IPs, so the actor defaults to Apify Proxy with a US residential configuration. Disable it and free-mode profiles will usually come back empty.

#### Can I use my own Bizapedia Pro API key?

Yes — set `apiKey` to your Pro API key and the actor fetches full profiles (contact data, officers, complete filing history) through the official API instead of parsing pages.

#### What data can I get for free?

With the default settings and no Pro key, free accounts get a 10-record preview; paid Apify plans return up to `maxItems` records. Full contact fields and the deepest filing history are the parts that typically require the Pro API key.

### For AI Agents & LLM Apps

**Purpose:** returns US business-entity records from Bizapedia for given company-name + state searches or profile URLs — one row per company with entity type, registration state, incorporation date, status, file number, FEIN, NAICS/SIC, website, registered agent and (when available) officers and filing history.

**Minimal input:**

```json
{ "companies": [{ "name": "Stripe Inc", "state": "DE" }], "maxItems": 10 }
```

**Profile-URL variant:**

```json
{ "startUrls": [{ "url": "https://www.bizapedia.com/de/stripe-inc.html" }], "maxItems": 5 }
```

**Output fields:** companyName, entityType, stateOfRegistration, incorporationDate, status, fileNumber, fein, industry, naics, sic, website, phone, email, registeredAgent, principalAddress, officers, filingHistory, completeness, sourceUrl, scrapedAt.

**Behaviors an agent should know:**

- Provide **either** `companies` (name+state searches) **or** `startUrls` (direct URLs); `startUrls` are processed as-is and take precedence.
- `maxItems` defaults to **10**; free access is capped at 10 records regardless of the value set.
- `apiKey` (Bizapedia Pro key) **changes the data path**: with it, full profiles come from the official Pro API; without it, public pages are parsed and contact/officer fields may be `null`.
- The default proxy is **US residential**; without a US IP, free-mode profiles often return no data.
- `fetchFullDetails: false` returns search-row-level fields only and skips officers, filing history and contact data.

**Billing:** pay-per-event — `Company record` $0.005 per record (a full-profile record adds a second event, ~$0.02 total stacked per fully-enriched company), plus an Actor start event; free accounts get a 10-record preview.

### Legal & Compliance Disclaimer

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Bizapedia or Bizapedia.com, Inc. It reads only publicly accessible company records and, when a Pro API key is supplied by the user, the official Bizapedia Pro API under that user's own agreement. No login is required and no CAPTCHA solving is performed. Business records can include personal data (officer names, registered-agent and contact details) and should not be used for unsolicited commercial outreach in violation of applicable law (e.g. CAN-SPAM, TCPA) or — where records relate to identifiable persons in scope — the GDPR/CCPA. Users are responsible for their own compliance with Bizapedia's Terms of Service and applicable data-protection law when storing, redistributing or automating access to the collected data.

### SEO Keywords

bizapedia scraper, bizapedia api, bizapedia api alternative, us company registry data, us business entity data, company lookup by name, business entity search, ein lookup, fein data, registered agent data, us company database, business registration data, llc lookup, corporation records, company verification data, kyb company data, b2b lead generation data, naics sic lookup, us company filings, sec edgar alternative, opencorporates alternative, us business data api, state registry company data, company incorporation dates

# Actor input Schema

## `startUrls` (type: `array`):

Bizapedia company profile URLs, for example https://www.bizapedia.com/tn/tesla-inc.html. Free profiles expose public JSON-LD data even when the full page is gated.

## `companies` (type: `array`):

Company name + state. The actor builds the Bizapedia profile URL automatically. Use the exact state of the filing you want (e.g. DE for a Delaware LLC, TN for a Tennessee foreign qualification). A full state name such as Tennessee also works.

## `maxItems` (type: `integer`):

Stop after this many records. Free Apify users are capped at 10 records.

## `maxRequestsPerCrawl` (type: `integer`):

Hard cap on profile page requests. Keep this close to maxItems.

## `maxConcurrency` (type: `integer`):

Number of profile pages and API lookups processed in parallel. Higher is faster but increases the chance of rate limiting.

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

Optional. With a paid Bizapedia Pro API key, the actor uses the official REST API (bdmservice-rest.aspx) for the Companies list and returns full records (principals, addresses, filing details). Without a key, it returns the public JSON-LD fields from profile pages.

## `fetchFullDetails` (type: `boolean`):

When an API key is set, look up each search hit by file number to fill principals, mailing address, employees and filing history. Doubles API calls but produces richer records.

## `debug` (type: `boolean`):

Log HTTP status, response size and gate diagnostics for each profile.

## `proxy` (type: `object`):

Apify Proxy configuration. Free Bizapedia profiles require a US residential IP, so the default is Apify Proxy with the RESIDENTIAL group and US country. Residential proxy traffic is billed by Apify. Disable it only when using the Pro API or your own proxy.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.bizapedia.com/tn/tesla-inc.html"
    }
  ],
  "companies": [],
  "maxItems": 50,
  "maxRequestsPerCrawl": 50,
  "maxConcurrency": 8,
  "apiKey": "",
  "fetchFullDetails": true,
  "debug": false,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `companies` (type: `string`):

No description

## `runSummary` (type: `string`):

No description

# 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 = {
    "startUrls": [
        {
            "url": "https://www.bizapedia.com/tn/tesla-inc.html"
        }
    ],
    "companies": [],
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ahmed_jasarevic/bizapedia-scraper").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 = {
    "startUrls": [{ "url": "https://www.bizapedia.com/tn/tesla-inc.html" }],
    "companies": [],
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("ahmed_jasarevic/bizapedia-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.bizapedia.com/tn/tesla-inc.html"
    }
  ],
  "companies": [],
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call ahmed_jasarevic/bizapedia-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ahmed_jasarevic/bizapedia-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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