# California Business Entity Search & LLC Leads Scraper (`scrapebench/california-business-entity-search`) Actor

Look up California LLCs and corporations by name or entity number: status, standing, filing date, agent and address. Liens mode finds UCC filings and tax liens.

- **URL**: https://apify.com/scrapebench/california-business-entity-search.md
- **Developed by:** [ScrapeBench](https://apify.com/scrapebench) (community)
- **Categories:** Lead generation
- **Security:** Limited permissions
- **Stats:** 4 total users, 3 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.0025 / business entity record

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/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

## California Business Entity Search & LLC Leads Scraper

### Pain points

- bizfile Online sits behind an Imperva bot wall that refuses scripts and plain HTTP clients.
- A name search shows at most 500 matches, and each company's address, registered agent address and Statement of Information due date sit on a separate detail panel.
- In the UCC search, each filing's debtors and secured parties with their addresses sit on a separate detail panel.

### What we solve

- Lookup by company name (every word starts a word of the name) or California entity number, several names per run, up to 500 matches each.
- Every match with its entity number, type, status, standing, filing date, where it was formed and the registered agent's name.
- The full record for the first 20 rows of a run: principal and mailing address, registered agent with address, Statement of Information due date, inactive date, and the SOS, FTB, agent and VCFCF standings.
- Liens mode: UCC filings and state tax, federal tax and judgment liens by debtor name, with file number, filing type, secured party, status, filing and lapse dates; every debtor and secured party for the first 20 filings.

### Summary

California business entity lookup from the California Secretary of State's bizfile Online, read live on every run. Give company names or California entity numbers; each match comes back as one row with the entity number, name, entity type, status, standing, initial filing date, state or country of formation and the registered agent's name. The first 20 rows of a run also carry the full record: principal and mailing address, registered agent with its address, Statement of Information due date, inactive date, and the separate SOS, Franchise Tax Board, agent and VCFCF standings. Liens mode searches the Secretary of State's UCC register by debtor name: UCC financing statements and state tax, federal tax and judgment liens, each with its file number, filing type, debtor, secured party, status, filing date and lapse date, and for the first 20 filings every debtor and secured party named on it. Built for KYB and due-diligence checks on California companies, lenders and merchant-cash-advance teams checking a borrower's existing liens, and compliance services reaching companies suspended by the Franchise Tax Board. No phone numbers: the state does not publish them. Pay only per row returned.

### Who it's for

- Fintech, compliance and KYB teams verifying California LLCs and corporations
- Lenders and merchant-cash-advance underwriters checking a borrower's UCC filings and tax liens
- Registered agents, CPAs and compliance services reaching companies suspended by the Franchise Tax Board
- Investigators and journalists tracing who a California company owes

### How to use

Set the input, run the actor, and collect results from the run's dataset (export to JSON/CSV/Excel, or pull via the Apify API). Example input:

```json
{
  "mode": "lookup",
  "queries": [
    "del taco",
    "201416910293"
  ],
  "maxResults": 20
}
```

See **Inputs** below for every available field.

### What you get

One row per record:

| Field | Description |
|---|---|
| `state` | CA |
| `entity_id` | California entity number (e.g. 201416910293) |
| `entity_name` | Registered name, as the state publishes it |
| `entity_type / entity_type_code` | The state's type label (Limited Liability Company - CA, Stock Corporation - Out of State - Stock ...) |
| `status / standing` | The state's status (Active, Suspended - FTB, Terminated ...) and overall standing |
| `formation_date / registered_in_state_since` | Initial filing date of a California entity, or of a foreign entity's registration in California |
| `jurisdiction` | Where the entity was formed (CA, or the other state or country) |
| `agent_name` | Registered agent, on every row |
| `principal_* / mailing_* / agent_street / city / state / zip` | Principal office, mailing address and registered agent address (full record) |
| `annual_report_due` | Statement of Information due date (full record) |
| `standing_sos / standing_ftb / standing_agent / standing_vcfcf, inactive_date` | The four standings and the inactive date (full record) |
| `file_number, filing_type, debtor_name / debtor_city / debtor_state, secured_party, filing_date, lapse_date` | Liens mode: one row per UCC filing or lien |
| `debtors / secured_parties` | Liens mode, first 20 filings: every debtor (name, city, state, ZIP) and secured party (name and address) |
| `source_url` | bizfile Online's business or UCC search, with the state's record id |

Sample:

```json
{
  "source_url": "https://bizfileonline.sos.ca.gov/search/business#6717495",
  "state": "CA",
  "entity_id": "201416910293",
  "entity_name": "A.C.M.E LLC",
  "entity_type": "Limited Liability Company - CA",
  "entity_type_code": "Limited Liability Company - CA",
  "status": "Suspended - FTB/SOS",
  "formation_date": "2014-06-16",
  "registered_in_state_since": null,
  "years_in_business": null,
  "jurisdiction": "CA",
  "principal_street": null,
  "principal_city": null,
  "principal_state": null,
  "principal_zip": null,
  "mailing_street": null,
  "mailing_city": null,
  "mailing_state": null,
  "mailing_zip": null,
  "agent_name": "HIRA DAWOOD",
  "agent_street": null,
  "agent_city": null,
  "agent_state": null,
  "agent_zip": null,
  "annual_report_due": null,
  "naics_code": null,
  "naics": null,
  "officers": null,
  "standing": "Not Good Standing"
}
```

### Inputs

| Field | Required | Type | Default | Description |
|---|---|---|---|---|
| `mode` | no | string | `"lookup"` | lookup: find the California companies you name (or their entity numbers) in the Secretary of State's business search. liens: find UCC filings and state tax, federal tax and judgment liens filed against the debtor names you give, from the Secretary of State's UCC search. |
| `queries` | no | array | `["del taco"]` | Lookup mode: one company name (every word starts a word of the name, e.g. "del taco") or California entity number (e.g. 201416910293) per line; up to 500 matches per name. Liens mode: one debtor name (a company or a person) per line. |
| `query` | no | string | — | Same as the list above, one value. Both are combined if you fill both. |
| `entityTypes` | no | array | — | Lookup mode: keep only these types: LLC, Corporation, Nonprofit, Limited Partnership, Cooperative. A California type label (e.g. Stock Corporation - CA - Professional) also works. |
| `statuses` | no | array | — | Lookup mode: keep only these statuses. "Active" keeps Active and Active - Pending Termination; other words match the state's own (Suspended - FTB, Terminated, Forfeited - SOS ...); an unknown word gives a free note listing them. |
| `formedAfter` | no | string | — | Lookup mode: only entities whose initial filing in California is on or after this date, YYYY-MM-DD. |
| `formedBefore` | no | string | — | Lookup mode: only entities whose initial filing in California is on or before this date, YYYY-MM-DD. |
| `maxResults` | no | integer | `20` | Cap on rows returned per name, entity number or debtor (bounds cost). Lookup: up to 500 (the state's own cap); the first 20 rows of a run get the full record (address, registered agent address, Statement of Information due date, standings). Liens: up to 100 per debtor (the state's first page); the first 20 filings of a run get every debtor and secured party. |

### Pricing (Pay Per Event)

You pay per result (`dataset-item`) — **no charge for empty runs**. Example: **100 entity records** at *$0.0025/result* ≈ **$0.25**.

Liens mode is charged per UCC filing or lien returned ($0.015 each) instead of per entity. Notices (unknown filter, no match, source refused) are free.

### Use cases

- KYB / due diligence: look up a California company by name or entity number and read its status, standing and registered agent.
- Lien check: list the UCC filings and state or federal tax liens filed against a borrower, with the secured parties.
- Reinstatement leads: California companies Suspended - FTB among the matches for a name, with their Statement of Information due date.
- Counterparty check: where a California-registered company was formed, when it registered and its principal office.

### Why this actor

- Read live from the California Secretary of State's bizfile Online business and UCC searches.
- Search fields for every match, the full record for the first 20 rows of a run.
- UCC filings and tax liens in the same actor, as their own rows.
- Pay per row; notices are free.

### Limitations & updates

California only (for other states see the nationwide US Business Entity Search). Lookup only, no statewide export. Up to 500 matches per name; a run reads the full record (addresses, Statement of Information due date, standings) for its first 20 rows, the rest keep the search fields. Liens: the first 100 filings per debtor name; every debtor and secured party for the first 20 filings of a run; a debtor's street is not returned (city, state and ZIP are). No officers, email or phone numbers. A refused search returns a free 'blocked' note instead of rows.

### FAQ

**How do I search liens?**

Set Mode to Liens and put debtor names (a company or a person) in Names. Each UCC filing, state tax lien, federal tax lien or judgment lien comes back as its own row, charged per filing. The state answers the first 100 filings per name; a broader name gets a free note with the state's total.

**Can I export every California LLC?**

Not yet. This actor looks up the names and entity numbers you give it, up to 500 matches per name.

**Why do only 20 rows have the address and registered agent address?**

Each one is a separate detail read on the state's site, so a run reads them for its first 20 rows and returns the other matches with the search fields (entity number, name, type, status, standing, filing date, agent name) and a free note.

**How does name lookup match?**

Every word you give must start a word of the name. An entity number finds its entity.

**How am I charged?**

Lookup: one event per business entity returned. Liens: one event per UCC filing or lien returned. Notices are free.

### Guides & use cases

Written up on **[scrapebench.dev](https://scrapebench.dev)** — the bench that runs and verifies this actor against the live source every night:

- **How-to:** [How to run California Business Entity Search & LLC Leads Scraper](https://scrapebench.dev/guides/how-to-california-business-entity-search/)
- **Use case:** [California UCC Filings and Tax Liens by Debtor](https://scrapebench.dev/use-cases/california-ucc-lien-search/)
- **Use case:** [Look Up a California Company's Status and Agent Before You Sign](https://scrapebench.dev/use-cases/california-company-lookup/)

More actors, coverage and nightly verification results: **[scrapebench.dev](https://scrapebench.dev)**

### Works with AI assistants (MCP)

Callable as an MCP tool, so Claude, Cursor, VS Code Copilot and other MCP clients can run it directly. Grab the config from the [MCP tab](https://apify.com/scrapebench/california-business-entity-search/api/mcp) on this page — Apify hosts the server and keeps that snippet current, and OAuth signs you in on first connect, so no API token goes in your config file.

Then just ask:

> "Look up the California company Del Taco and tell me its status, standing and registered agent."

That is queries \["del taco"] in lookup mode. For liens, set mode to liens. Keep maxResults small on a first call. Runs started this way bill exactly like any other run.

### Data & lawful use

This actor collects publicly available information that the California Secretary of State (bizfile Online) publishes for public
lookup — licence records, business listings and the contact details professionals list there.
Some of it identifies individuals (sole proprietors, licence holders, agents), so treat any
names, phone numbers and emails in your results as personal data.

When you run this actor, you decide what is collected and what it is used for, so you are the
controller of that data and we act only as your processor (Apify Standard Actor Contract).
You need a lawful basis for your use, must honour opt-out and deletion requests, and must
follow the marketing rules that apply to you (CAN-SPAM, TCPA, GDPR, CCPA and similar).
Don't use the output for unsolicited bulk messaging, for screening covered by the FCRA, or
for anything the source's own terms forbid.

Your results are stored in your own Apify account. We don't keep a copy of your results and
don't sell or share them.

### Disclaimer

This is an independent tool. It is not affiliated with, endorsed by or sponsored by
the California Secretary of State (bizfile Online). Names and marks are used only to describe the data source. Records are
provided as published by the source and may be out of date or incomplete. For anything
consequential (hiring, a permit, a legal decision), confirm the record with the issuing
agency. You are responsible for making sure your use complies with applicable law and the
source's terms.

### Need help?

Open an issue on this actor's **Issues** tab and we'll respond there. Bug reports, missing
fields and feature requests are all welcome. Guides and examples: [scrapebench.dev](https://scrapebench.dev).

If you are a person named in this data and want your record removed from our copy, email
apify-help@scrapebench.dev; the source agency remains the official record.

Your run may be used to improve our services. If something looks off, or you want this actor to fit your use better, please share your run data with us: [Apify Console → Settings → Security → Share run data with developers](https://console.apify.com/settings/security). It lets us see exactly what went wrong and keep improving the actor.

If this actor saved you time, a short review on its Store page helps other buyers find it.

# Actor input Schema

## `mode` (type: `string`):

lookup: find the California companies you name (or their entity numbers) in the Secretary of State's business search. liens: find UCC filings and state tax, federal tax and judgment liens filed against the debtor names you give, from the Secretary of State's UCC search.

## `queries` (type: `array`):

Lookup mode: one company name (every word starts a word of the name, e.g. "del taco") or California entity number (e.g. 201416910293) per line; up to 500 matches per name. Liens mode: one debtor name (a company or a person) per line.

## `query` (type: `string`):

Same as the list above, one value. Both are combined if you fill both.

## `entityTypes` (type: `array`):

Lookup mode: keep only these types: LLC, Corporation, Nonprofit, Limited Partnership, Cooperative. A California type label (e.g. Stock Corporation - CA - Professional) also works.

## `statuses` (type: `array`):

Lookup mode: keep only these statuses. "Active" keeps Active and Active - Pending Termination; other words match the state's own (Suspended - FTB, Terminated, Forfeited - SOS ...); an unknown word gives a free note listing them.

## `formedAfter` (type: `string`):

Lookup mode: only entities whose initial filing in California is on or after this date, YYYY-MM-DD.

## `formedBefore` (type: `string`):

Lookup mode: only entities whose initial filing in California is on or before this date, YYYY-MM-DD.

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

Cap on rows returned per name, entity number or debtor (bounds cost). Lookup: up to 500 (the state's own cap); the first 20 rows of a run get the full record (address, registered agent address, Statement of Information due date, standings). Liens: up to 100 per debtor (the state's first page); the first 20 filings of a run get every debtor and secured party.

## Actor input object example

```json
{
  "mode": "lookup",
  "queries": [
    "del taco"
  ],
  "maxResults": 20
}
```

# Actor output Schema

## `results` (type: `string`):

Business-entity records, one row per entity; notices are free.

## `liens` (type: `string`):

Liens mode: one row per UCC filing or lien; notices are free.

# 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 = {
    "mode": "lookup",
    "queries": [
        "del taco"
    ],
    "maxResults": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapebench/california-business-entity-search").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 = {
    "mode": "lookup",
    "queries": ["del taco"],
    "maxResults": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapebench/california-business-entity-search").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 '{
  "mode": "lookup",
  "queries": [
    "del taco"
  ],
  "maxResults": 20
}' |
apify call scrapebench/california-business-entity-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapebench/california-business-entity-search"
        }
    }
}
```

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/cf9r5kvuBvuOYbSoc/builds/T35bTPxDgtaLjwhtQ/openapi.json
