Wyo APIwyobiz.wyo.gov ↗
Search Wyoming Secretary of State business entities by name or filing ID. Returns entity status, standing, registered agent, parties, and filing details.
What is the Wyo API?
The Wyoming Business Search API provides 2 endpoints for querying the Wyoming Secretary of State's public business-entity database. Use search_entities to retrieve paginated summaries of matching entities—including filing ID, entity type, status, and tax standing—or call get_entity_details with a detail_key to pull the full public record for a single entity, including registered agent, formation jurisdiction, parties, and sub-status.
curl -X GET 'https://api.parse.bot/scraper/a745d639-4d4f-4521-baa3-d40b6526b8dd/search_entities?name=Wyoming+Coffee' \ -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 wyobiz-wyo-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.
"""Walkthrough: Wyoming Secretary of State business entity search — bounded, re-runnable."""
from parse_apis.wyobiz_wyo_gov_api import WyoBiz, MatchMode, EntityNotFound
client = WyoBiz()
# Search for entities whose name starts with a term; cap total items.
for summary in client.entity_summaries.search(name="Wyoming Coffee", match=MatchMode.STARTS_WITH, limit=5):
print(summary.entity_name, summary.filing_id, summary.status)
# Drill into the first result's full detail record.
hit = client.entity_summaries.search(name="Wyoming Coffee", limit=1).first()
if hit is not None:
entity = hit.details()
print(entity.entity_name, entity.entity_type, entity.formation_date)
print("Standing — tax:", entity.standing_tax, "RA:", entity.standing_ra)
if entity.registered_agent is not None:
print("Registered agent:", entity.registered_agent.name)
if entity.latest_annual_report is not None:
print("Latest annual report:", entity.latest_annual_report.year, entity.latest_annual_report.document_number)
# Walk filing history on the same entity.
for filing in entity.filing_history:
label = f" (doc {filing.document_number})" if filing.document_number else ""
print(f" {filing.date} {filing.filing_type}{label}")
# Point-lookup by detail_key obtained from the search hit.
try:
refreshed = client.entities.get(detail_key=hit.detail_key)
print("Refreshed:", refreshed.entity_name, refreshed.status)
except EntityNotFound:
print("Entity no longer available")
print("exercised: entity_summaries.search / EntitySummary.details / entities.get / filing_history")
Searches the public Wyoming business-entity register by legal name (starts-with or contains) or by exact filing ID and returns one page of 20 summary rows, each carrying the exact entity name, filing ID, entity type code, current status, tax and registered-agent standing, initial filing date, and the detail_key/detail_url needed by get_entity_details. Either name or filing_id must be supplied; when filing_id is given the name is ignored. Results are paginated 20 per page as the site pages them; page defaults to 1 and has_more/total_pages describe the remaining pages (each page costs two or three round trips because the search is replayed before the page is selected). A name with no matches returns an empty results array with total_results 0. total_results is the site's own result count. retrieved_at is the UTC time of the query.
| Param | Type | Description |
|---|---|---|
| name | string | Legal business name (or its beginning / a fragment, depending on match) to search for, up to 50 characters. Required unless filing_id is supplied. |
| page | integer | 1-based results page (20 rows per page). |
| match | string | How the name is matched: from the beginning of the name, or anywhere within it. Ignored for filing_id lookups. |
| filing_id | string | Exact Secretary of State filing ID in the form YYYY-NNNNNNNNN (one shape: 2008-000554255). When supplied, name is ignored and at most one entity is returned. |
{
"type": "object",
"fields": {
"page": "integer, the page returned",
"query": "object echoing the name, filing_id, match and page that were applied",
"results": "array of entity summaries: entity_name, filing_id, entity_type_code (site abbreviation such as LLC or CORP), status, standing_tax, standing_ra, filed_on (YYYY-MM-DD), detail_key (opaque key for get_entity_details), detail_url (public detail page)",
"has_more": "boolean, true when a later page exists",
"page_size": "integer, rows per page (20)",
"total_pages": "integer, number of pages available (0 when no matches)",
"retrieved_at": "UTC timestamp (ISO 8601) when the search was executed",
"total_results": "integer, the site's total match count for the query"
},
"sample": {
"data": {
"page": 1,
"query": {
"name": "Wyoming Coffee",
"page": 1,
"match": "starts_with",
"filing_id": null
},
"results": [
{
"status": "Inactive - Administratively Dissolved (Tax)",
"filed_on": "2008-04-30",
"filing_id": "2008-000554255",
"detail_key": "008217078140236170015037249099126133139003087097",
"detail_url": "https://wyobiz.wyo.gov/Business/FilingDetails.aspx?eFNum=008217078140236170015037249099126133139003087097",
"entity_name": "Wyoming Coffee Company, LLC",
"standing_ra": "Good",
"standing_tax": "Delinquent",
"entity_type_code": "LLC"
}
],
"has_more": false,
"page_size": 20,
"total_pages": 1,
"retrieved_at": "2026-09-26T08:39:46Z",
"total_results": 4
},
"status": "success"
}
}About the Wyo API
Search Wyoming Business Entities
The search_entities endpoint accepts a legal business name (name) or an exact Secretary of State filing ID (filing_id, format YYYY-NNNNNNNNN). Name searches support two match modes via the match parameter: starts-with or contains. Results come back 20 per page; the page parameter (1-based) navigates across multiple pages. Each result row includes entity_name, filing_id, entity_type_code (e.g. LLC, CORP), status, standing_tax, standing_ra (registered-agent standing), and an opaque detail_key needed for the detail endpoint. The response envelope also returns total_results, total_pages, and a has_more flag so callers can implement full pagination without an extra round-trip.
Entity Detail Records
Passing a detail_key emitted by search_entities to get_entity_details returns the complete public record for one entity. Fields include entity_name, entity_type (full label such as Limited Liability Company - Domestic), filing_id, status, sub_status (Current or Archived), formed_in (formation jurisdiction), and standing_ra. The parties array lists every recorded party—name, role, organization, and address—covering registered agents, officers, and other principals on file. A detail_url pointing to the canonical public page is also returned.
Coverage and Freshness
The API covers all entity types visible in the Wyoming Secretary of State's public FilingSearch database, including domestic and foreign LLCs, corporations, limited partnerships, and similar structures. The retrieved_at timestamp in every search_entities response reflects when the data was fetched, so callers can track freshness. Filing history and annual-report data referenced in the plan description are surfaced through the detail record; no separate history endpoint exists in the current two-endpoint design.
The Wyo API is a managed, monitored endpoint for wyobiz.wyo.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when wyobiz.wyo.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 wyobiz.wyo.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 a Wyoming LLC or corporation is in good standing before entering a business relationship, using the
standing_taxandstanding_rafields. - Look up the registered agent name and address for a Wyoming entity via the
partiesarray inget_entity_details. - Resolve a company's exact legal name and entity type from a known Secretary of State filing ID using the
filing_idparameter. - Build a bulk compliance checker that pages through
search_entitiesresults withhas_moreand flags entities whosestatusis not active. - Identify the formation jurisdiction of a foreign entity using the
formed_infield returned byget_entity_details. - Enumerate all entities matching a brand name fragment using the
containsmatch mode to surface potential trademark conflicts or related companies. - Populate a B2B prospecting database with Wyoming entity names, types, and statuses from the public register.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Wyoming Secretary of State offer an official developer API for wyobiz.wyo.gov?+
What does `search_entities` return, and how do I page through results?+
entity_name, filing_id, entity_type_code, status, standing_tax, and standing_ra. The response includes total_results, total_pages, and a has_more boolean. Increment the page parameter (1-based) to retrieve subsequent pages.Does the API return filing history documents or annual report PDFs?+
Can I search by registered agent name or by officer/principal name?+
name parameter with starts-with or contains matching) and exact filing ID (via filing_id). Registered agent and party names appear in get_entity_details results but cannot be used as search inputs. You can fork the API on Parse and revise it to add a party-name search endpoint if the source supports it.What is the `detail_key` and where does it come from?+
detail_key is an opaque numeric identifier returned in every record inside search_entities results (results[*].detail_key). It must be passed as the sole required input to get_entity_details to retrieve the full public record for that entity. It is not the same as the filing_id.