Government and Public Records

Business Registration

/extract/json

Business entity registration record from a state secretary of state or equivalent authority.

Download the schemagov-public-records/business-registration.json

business-registration.schema

// names marked ? are optional

entity_name:string// Legal registered name of the entity. Commonly found in: secretary of state website, business registry.
entity_name_aliases?:string[]// DBA or trade names. Commonly found in: secretary of state website, DBA filings.
entity_type:string// Legal entity type. Commonly found in: secretary of state website, formation documents. One of: llc, corporation, partnership, sole_prop, nonprofit, other.
state_of_formation:string// US state where the entity was formed. Commonly found in: secretary of state website.
foreign_qualification_states?:string[]// States where the entity is registered as a foreign entity. Commonly found in: state business registries.
status:string// Current status of the entity. Commonly found in: secretary of state website. One of: active, inactive, dissolved, revoked, pending, other.
formation_date?:string// Date the entity was formed. Commonly found in: secretary of state website, articles of incorporation.
dissolution_date?:string// Date of dissolution if applicable. Commonly found in: secretary of state website.
registered_agent_name?:string// Name of the registered agent. Commonly found in: secretary of state website.
registered_agent_address?:string// Address of the registered agent. Commonly found in: secretary of state website.
principal_office_address?:string// Principal office street address. Commonly found in: secretary of state website, annual report.
city?:string// City of the principal office. Commonly found in: secretary of state website.
state:string// State of the principal office. Commonly found in: secretary of state website.
zip_code?:string// ZIP code of the principal office. Commonly found in: secretary of state website.
officers_and_directors?:object[]// Officers, directors, and managers. Commonly found in: secretary of state website, annual report.
name:string// Full name of the officer or director.
title?:string// Title or role (e.g., CEO, Director, Manager).
address?:string// Address of the officer or director.
annual_report_due_date?:string// Due date for next annual report. Commonly found in: secretary of state website.
entity_number?:string// State-assigned entity or file number. Commonly found in: secretary of state website.
irs_ein?:string// IRS Employer Identification Number (EIN). Commonly found in: IRS records, business filings.
page_title?:string// Title of the source page. Tabstack auto-fills this from page metadata when left empty.
favicon?:string// Favicon URL of the source page. Tabstack auto-fills this from page metadata when left empty.

Try it live

A sample Business Registration document, generated from the schema. Edit it, or paste a real response, and see it checked against the schema instantly. It runs in your browser, nothing is sent anywhere.

your-output.json
validation

Valid, matches Business Registration

Every required field is present and each value matches its type. Extra fields are allowed. A field the page does not carry is not guaranteed to come back as null, so check values rather than only checking for null.

/extract/json

Copy-paste usage

The same call in TypeScript, Python, and curl. Point it at your own URL and go. The schema drives the response, so you get back the fields you asked for instead of a page to parse.

Features

  • Typed TypeScript and Python SDKs
  • One call, no parsing code and no second LLM pass
  • The same field names on every request, even when the page layout changes
business-registration.ts
// curl -sfLO https://raw.githubusercontent.com/Mozilla-Ocho/tabstack-schemas/main/gov-public-records/business-registration.json
import Tabstack from '@tabstack/sdk'
import schema from './business-registration.json' with { type: 'json' }

const client = new Tabstack() // reads TABSTACK_API_KEY from the environment

try {
  const data = await client.extract.json({
    url: 'https://records.example.gov/filing/12345',
    json_schema: schema,
    effort: 'standard', // 'min' | 'standard' | 'max'
  })

  console.log(data)
} catch (err) {
  console.error('Extraction failed:', err)
}

Ship this schema in one call.

Pass a URL, get matching JSON back. Free to start, no extraction layer to maintain.