Ohiosos APIbusinesssearch.ohiosos.gov ↗
Search and retrieve Ohio business registration data including entity status, registered agent details, and filing history via the Ohio SOS API.
What is the Ohiosos API?
This API provides access to Ohio Secretary of State business registration data across 2 endpoints. The search endpoint returns matching business records by name keyword, including entity number, type, status, filing date, county, and location. The details endpoint retrieves the full profile for a specific entity — registered agent name and address, filing history, expiry date, and current status — using the charter number returned from search.
curl -X GET 'https://api.parse.bot/scraper/ad5c628f-a108-4dce-acda-d2d0813409f6/search?query=fish+hatchery' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace businesssearch-ohiosos-gov-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.ohio_business_search_api import OhioBusinessSearch, Business, BusinessSummary, Filing
ohio = OhioBusinessSearch()
# Search for businesses by keyword
for summary in ohio.businesses.search(query="fish hatchery"):
print(summary.business_name, summary.status, summary.entity_number)
# Navigate from summary to full details
business = summary.details()
print(business.agent_name, business.agent_address)
for filing in business.filings:
print(filing.description, filing.effective_date)
Search for businesses registered in Ohio by name keyword or phrase. Returns matching business records with basic information including entity number, name, type, status, and location. Results are not paginated; all matches are returned in a single response. The query is case-insensitive.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Business name or keyword to search for. |
{
"type": "object",
"fields": {
"items": "array of business records, each containing entity_number, business_name, type, status, filing_date, location, county, and state",
"total": "integer total number of matching results"
},
"sample": {
"data": {
"items": [
{
"type": "CORPORATION FOR PROFIT",
"state": "OHIO",
"county": "TUSCARAWAS",
"status": "Active",
"location": "MINERAL CITY",
"filing_date": "1996-02-26T00:00:00Z",
"business_name": "DOMER'S FISH HATCHERY, INC.",
"entity_number": "932871"
}
],
"total": 9
},
"status": "success"
}
}About the Ohiosos API
Search Ohio Business Registrations
The search endpoint accepts a query string (a business name or keyword) and returns an array of matching Ohio-registered entities. Each record in the items array includes entity_number, business_name, type, status, filing_date, location, county, and state. The total field gives the full count of matches, useful for pagination logic or result-size checks before drilling into individual records.
Retrieve Full Entity Details
The details endpoint takes an entity_number (the charter number from a search result) and returns the complete registration profile. Response fields include business_name, type, status (e.g. Active, Cancelled), state, county, location, expiry_date, agent_name, and agent_address. The filings array lists every filing on record for the entity, each with a document_id, description, and effective_date — covering the full statutory history of the entity.
Data Source and Coverage
All data originates from the Ohio Secretary of State's public business registry. Coverage is limited to entities registered in Ohio; entities incorporated in other states but qualified to do business in Ohio may appear, but foreign registrations outside Ohio are not included. Status values reflect the SOS office's current records, so freshness depends on when the SOS updates its registry.
The Ohiosos API is a managed, monitored endpoint for businesssearch.ohiosos.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when businesssearch.ohiosos.gov changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official businesssearch.ohiosos.gov API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Verify whether an Ohio business is currently Active or Cancelled before entering a contract
- Look up the registered agent name and address for serving legal documents to an Ohio entity
- Check the filing history of an Ohio LLC or corporation using the
filingsarray with effective dates - Cross-reference county and location fields to map Ohio business density by region
- Automate due-diligence pipelines by searching entity names and retrieving full details in sequence
- Audit expiry dates for Ohio entities to flag registrations approaching cancellation
- Retrieve entity numbers for a list of business names to build a structured Ohio company dataset
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does the Ohio Secretary of State offer an official developer API?+
What does the `details` endpoint return beyond what `search` provides?+
search endpoint returns summary fields: entity number, name, type, status, filing date, county, location, and state. The details endpoint adds registered agent information (agent_name, agent_address), expiry_date, and the full filings array with each filing's document_id, description, and effective_date. You need a details call to access agent data or filing history.Can I search by registered agent name, officer name, or address instead of business name?+
search endpoint filters only by business name keyword via the query parameter. Lookups by registered agent, officer, EIN, or street address are not covered. You can fork this API on Parse and revise it to add an endpoint targeting those filter types.Are document images or full filing PDFs accessible through the API?+
filings array returns document_id, description, and effective_date for each filing, but does not include document URLs or binary content. You can fork this API on Parse and revise it to add a document-retrieval endpoint if PDF access is needed.How current is the business status data returned by the API?+
status field reflects what the Ohio Secretary of State's registry shows at the time of the request. The SOS office updates its registry on a rolling basis, but there can be a lag between a filing being processed and it appearing in search or detail results. For time-sensitive compliance checks, treat results as a starting point and confirm directly with the SOS if precision is critical.