← All posts

How do I access New York business entity data programmatically?

Key takeaways

  • New York has no official real-time API for its full business-entity registry. The DOS Corporation and Business Entity Database is a per-entity web search only.
  • The free data.ny.gov 'Active Corporations' extract has a Socrata API, but it is a monthly snapshot of active entities with no filing history and no inactive records.
  • GovFiles covers 7,059,097 New York (us_ny) records as of June 2026: 4,337,948 active and 2,721,149 inactive, including the dissolved entities the free extract drops.
  • New York formations climbed from 135,024 in 2010 to a peak of 297,815 in 2023, with a sharp jump to 276,953 in 2021.

New York publishes no real-time API for its complete business-entity registry. Three routes exist: the NY Department of State's free per-entity web search, a free Socrata API over the state's Open Data extract of active corporations only, or a normalized aggregator API that returns the full registry with every status and registered agent.

Does New York offer an API for business entity data?

Not for the full registry. The official source is the NY Department of State's Corporation and Business Entity Database, served at apps.dos.ny.gov/publicInquiry. It is an interactive lookup: you type a name or DOS ID, you get one entity back. There is no API key, no query endpoint, and no bulk download. Scripting it means scraping HTML, which is brittle and rate-limited.

New York does expose data through data.ny.gov, the state's Socrata-powered Open Data portal. That portal carries a SODA (Socrata Open Data API) endpoint, so the published extracts are genuinely queryable in JSON. The catch is what those extracts contain, which is the next question.

What's in New York's free Open Data extract, and what's missing?

The headline dataset is Active Corporations: Beginning 1800 (n9v6-gdp6). The DOS describes it plainly: it "contains information on all active corporations as of the last business day of the specified month and year." That sentence carries the limits.

Start with "active." The extract is a snapshot of entities that are active right now. Dissolved, merged, and otherwise inactive records are not in it, so you cannot use it to answer "did this entity ever exist" or "when was it dissolved." Then "as of the last business day": it is a monthly point-in-time file, not a change feed. And the record itself is flat. It carries the current entity name, county, the DOS process-service address, CEO, and registered agent, but no filing history and no full officer roster.

Despite the name "Active Corporations," the dataset does include LLCs. Domestic Limited Liability Companies are actually its single largest entity type. The gap is in lifecycle and depth, not entity type. You get no inactive entities, no filing history, and nothing about an entity once it leaves active status.

CapabilityNY DOS public searchdata.ny.gov extractGovFiles API / bulk
Programmatic accessNone (web form)Socrata SODA APIREST API + bulk Parquet
Active entitiesYesYesYes
Inactive / dissolved entitiesYes (one at a time)NoYes
LLCs and not-for-profitsYesYesYes
Registered agentYesYesYes (94.5% of records)
Incorporation dateYesInitial filing dateYes (100% of records)
Filing historyNoNofilings field
Bulk deliveryNoCSV/JSON exportParquet
Normalized across 50 statesNoNoYes

What's actually in the New York data?

GovFiles covers 7,059,097 New York (us_ny) records as of June 2026. New York is one of the states that populates current_status, so the set splits cleanly: 4,337,948 active (61.45%) and 2,721,149 inactive (38.55%). Note that the schema normalizes New York status to two values, Active and Inactive. It does not carry a good-standing or revoked distinction for New York, so do not read more granularity into the field than is there.

Corporations and LLCs dominate the composition. Domestic Business Corporations are the largest type at 3.7M records, and Domestic LLCs are close behind at 2.3M.

Entity type (company_type)RecordsShare
Domestic Business Corporation3,700,10652.42%
Domestic Limited Liability Company2,275,99132.24%
Domestic Not-for-Profit Corporation300,3304.25%
Foreign Business Corporation274,7883.89%
Foreign Limited Liability Company225,0823.19%
Domestic Professional Service Corporation109,0761.55%
All other types173,7242.46%

The incorporation_date field is populated on every New York record, with dates running from 1770-03-13 to 2026-04-13. That makes formation trends countable. New filings climbed steadily through the 2010s, then jumped during the pandemic and have stayed elevated since.

Incorporation yearNew entities
2010135,024
2019207,820
2020222,924
2021276,953
2022281,617
2023297,815
2024276,467

The jump from 222,924 formations in 2020 to 276,953 in 2021 is a 24% year-over-year increase, and 2023 set the peak at 297,815. These counts come from one query over the bulk dataset, grouped by the year of incorporation_date. The script that produced every figure in this post lives at govfiles/agents/analysis/new-york-business-entity-data/ny_entity_composition.py and re-runs on each monthly refresh.

Two honesty notes. First, 7,059,097 is GovFiles' coverage of New York, not a certified live census of the state registry. Second, the registered agent is populated on 6,672,468 records (94.5%), so a small share of entities carry no agent value; company_type and incorporation_date are at 100%, and dissolution_date is present on exactly the 2,721,149 inactive records.

How do I pull New York entities via API?

Two endpoints cover most needs. To find entities by name and status, POST to the search endpoint with jurisdictions scoped to us_ny. Authentication is an X-API-Key header on every request.

# Search active New York entities by name
curl -s -X POST 'https://api.govfiles.dev/v1/companies/search' \
  -H 'Content-Type: application/json' \
  -H "X-API-Key: $KEY" \
  -d '{"q":"holdings","jurisdictions":"us_ny","status":"active","limit":50}'

To pull a single entity when you already have its New York DOS ID, call the get-by-id endpoint with the jurisdiction code and company_number in the path.

curl -s 'https://api.govfiles.dev/v1/companies/us_ny/1234567' \
  -H "X-API-Key: $KEY"
{
  "company_number": "1234567",
  "jurisdiction_code": "us_ny",
  "name": "EXAMPLE HOLDINGS LLC",
  "current_status": "Active",
  "company_type": "DOMESTIC LIMITED LIABILITY COMPANY",
  "incorporation_date": "2018-06-14",
  "dissolution_date": null,
  "registered_address": { "...": "..." },
  "all_attributes": {
    "registered_agent_name": "...",
    "...": "..."
  },
  "filings": [ "..." ]
}

The registered agent lives under all_attributes.registered_agent_name, not as a top-level field. Inactive entities return a populated dissolution_date and current_status of Inactive. For analysis across the whole set (counting formations by year, splitting active versus inactive, ranking entity types) the bulk Parquet dataset is the path: one file, the same normalized schema, no pagination. The full field list and status semantics are in the GovFiles API docs.

Frequently asked

Does New York have an official API for business entity data? No. The NY Department of State's Corporation and Business Entity Database (apps.dos.ny.gov/publicInquiry) is an interactive per-entity web search with no API and no bulk export. New York does publish a monthly Active Corporations extract on data.ny.gov with a Socrata (SODA) API, but it covers active entities only and carries no filing history.

What does New York's free Open Data dataset leave out? The data.ny.gov "Active Corporations: Beginning 1800" extract is a monthly snapshot of active entities only, so dissolved and inactive records are absent. It carries the current name, address, registered agent, and CEO, but no filing history, no officer roster, and no record of an entity once it goes inactive.

How many business entities does GovFiles cover for New York? As of June 2026, GovFiles covers 7,059,097 New York (us_ny) entity records: 4,337,948 active (61.45%) and 2,721,149 inactive (38.55%). The set spans Domestic Business Corporations (52.42%), Domestic LLCs (32.24%), not-for-profits, and foreign registrations, with incorporation_date populated on every record.

How do I pull a New York company by registry number via API? Call GET /v1/companies/us_ny/{company_number} on the GovFiles API with an X-API-Key header. The response returns name, current_status, company_type, incorporation_date, dissolution_date, and the registered agent. To find entities by name or status, POST to /v1/companies/search with jurisdictions set to us_ny.

GovFiles API

One schema for business entity data from all 50 states — officers, registered agents, filings and status history.

Get an API key