California SOS Business Search Scraper
DeprecatedPricing
from $10.00 / 1,000 california sos record returneds
California SOS Business Search Scraper
DeprecatedSearch California Secretary of State BizFile business entities by name or entity number and return normalized status, filing, agent, address, and risk signals.
Pricing
from $10.00 / 1,000 california sos record returneds
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
11
Total users
2
Monthly active users
9 days ago
Last modified
Categories
Features
Share
Current status (2026-10-27): blocked. California SOS BizFile Online answers every automated search request with a bot-protection challenge (HTTP 403 or a challenge page instead of search results), from both cloud and non-cloud networks. Runs currently end as FAILED with status
BLOCKED, zerosos-recordcharges and no fabricated records; only the small start fee applies. The Actor does not solve CAPTCHAs, hide its automation or switch networks to get past the check. Do not rely on it for live registry lookups until approved access to the registry data is available.
Search the official California Secretary of State BizFile Online business registry by company name or California entity number. The actor returns compact, typed records for due diligence, KYB checks, registered-agent research, business-status monitoring, and AI-agent workflows.
What it does
Use this actor when you need public California registry data for corporations, LLCs, LPs, and nonprofit entities. It first makes a bounded HTTP request to the public page-backed search endpoint. If a normal browser session is needed, it opens the official search form once and observes the form's response. No sessions are rotated after a denial or CAPTCHA. It does not file documents, order certificates, download filing images, log in to an account, or bypass a CAPTCHA or anti-bot challenge.
The actor is designed for compliance teams, legal and due-diligence researchers, sales operations teams validating business names, journalists, and AI agents that need a small structured answer instead of a browser transcript.
When to use it
Use it for questions such as:
- Is a company registered with the California Secretary of State?
- What is the entity number, status, standing, entity type, initial filing date, or formation jurisdiction?
- What registered agent or address did the public registry return?
- Which companies in a short list look active, suspended, forfeited, dissolved, or otherwise need review?
Do not use it for California tax balances, certified copies, private account data, LLP or general-partnership records that the portal does not index, or legal conclusions. The status risk score is a transparent triage signal, not a legal, credit, or compliance opinion.
Input
{"businessNames": ["Apple Inc", "C0806592"],"maxItems": 10,"includeRawFields": false,"requestDelayMs": 2500}
businessNames is required and accepts company names or entity numbers. maxItems defaults to 10 and caps the total unique records across all queries. includeRawFields defaults to false and can be enabled when you need the original fields returned by the registry. requestDelayMs defaults to 2500 milliseconds between separate searches.
Output
One dataset item is emitted per unique registry row. The stable fields are:
| Field | Description |
|---|---|
entityName | Registered entity name |
entityNumber | California entity/file number when returned |
status | Public registry status |
standing | Public standing value when returned |
entityType | Entity classification |
formationDate | Initial filing or formation date |
jurisdiction | Formed-in state or country |
registeredAgent | Public agent text |
principalAddress | Principal address when returned |
mailingAddress | Mailing address when returned |
riskScore | 0-100 triage score from status and standing text |
riskLevel | low, medium, high, or critical |
riskSignals | Human-readable reasons for the score |
searchQuery | Input query that produced the row |
sourceUrl | Official BizFile Online search page |
scrapedAt | ISO 8601 collection timestamp |
rawFields | Original row fields when opted in; otherwise null |
Active or good-standing text maps to a low score. Suspended, inactive, delinquent, or not-good-standing text maps to a high score. Dissolved, cancelled, revoked, surrendered, merged, or forfeited text maps to a critical score. Unknown or missing status text is intentionally called out rather than silently treated as healthy.
The OUTPUT key-value record contains terminal status, counts, warnings, and target diagnostics. An empty match is a successful empty run. If bot protection blocks every search, the run ends as FAILED with status BLOCKED with a diagnostic message rather than pretending that the business names have no matches.
Pricing
This Actor uses pay-per-event pricing with all-in pricing (Apify platform usage is included in the event prices, with no separate platform fees charged to users):
| Event | Tiered Price (USD) | When it is charged |
|---|---|---|
sos-record | FREE: $0.014 BRONZE: $0.013 SILVER: $0.012 GOLD / PLATINUM / DIAMOND: $0.010 | California SOS record returned — Charged for each unique normalized business entity returned in the dataset. |
apify-actor-start | $0.005 | Actor Start — Synthetic event: one event per GB allocated, minimum one. A 1 GB run charges one start event. |
For example, ten records cost $0.145 on FREE, $0.135 on BRONZE, $0.125 on SILVER, or $0.105 on GOLD at 1 GB, including one $0.005 start event. Prices are the existing live prices; this repair does not change them.
JavaScript API
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('YOUR_USERNAME/sos-scraper').call({businessNames: ['Apple Inc', 'C0806592'],maxItems: 10});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python API
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("YOUR_USERNAME/sos-scraper").call({"businessNames": ["Apple Inc", "C0806592"],"maxItems": 10,})items = list(client.dataset(run.default_dataset_id).iterate_items())print(items)
Reliability notes
BizFile Online can deny ordinary requests or require a CAPTCHA. The Actor makes at most one direct HTTP attempt for a pending query and, only when that request is refused outright, one plain browser session per run. It stops on a challenge page, browser denial, CAPTCHA, network-route failure or HTTP 429, and never retries with a new session or network. By default it connects directly, without a proxy.
The browser blocks images, fonts, and media. Browser request retries and session rotations are disabled. Live runs use 1 GB by default with a 120-second hard timeout; the Actor starts shutting down after at most 85 seconds. Large batches can return partial data before this deadline. HTTP-only runs avoid browser and proxy traffic. Query names and entity identities are deduplicated before writing or charging.
OUTPUT reports terminal status, stop reason, delivered records, actual custom result-event counts, effective limit, request counts, browser launches, and stage timing. Only a recognized search response with zero rows is EMPTY. Access denials, rate limits, malformed responses, and proxy failures are distinct errors. Valid partial results remain in the dataset. A failed or empty lookup has zero sos-record charges; the platform-managed start fee can still apply.
Legal and data-use notice
This actor accesses publicly displayed business-registry information. Users are responsible for complying with the California Secretary of State website terms, applicable laws, privacy obligations, and any downstream data-use restrictions. The data is not certified, and the California Secretary of State is the authoritative source for legal reliance.
FAQ
Why did a run return no records?
The query may have no matching indexed entity, or the target may have returned a valid empty response. Check the OUTPUT warnings and try the registered name or entity number.
Why did a run become blocked?
The registry's bot protection refuses automated requests. The Actor stops at the first challenge, denial or CAPTCHA and charges no sos-record events. As of 2026-10-27 this happens on every run; approved access to the registry data is required, and changing selectors does not repair an access restriction.
Does this download filing PDFs?
No. It is a read-only structured business-search actor. It does not order documents or access authenticated filing workflows.
Can I search all California businesses?
Use a bounded list of names or entity numbers. This actor is designed for targeted lookups and bounded batches; maxItems is capped at 10,000 to keep runtime, load, and billing predictable.
What does the risk score mean?
It is a deterministic mapping of returned status and standing text. It flags records for review; it does not determine legal good standing, solvency, tax compliance, or fraud.
Last verified: 2026-10-27