HHS APIoig.hhs.gov ↗
Access HHS OIG corporate integrity agreements via API. Browse CIAs by status, state, or company name. Retrieve settlement amounts, effective dates, and agreement details.
What is the HHS API?
This API exposes corporate integrity agreements (CIAs) published by the HHS Office of Inspector General across two endpoints: browse_agreements and get_agreement_detail. browse_agreements returns a paginated list of agreements with 7 fields per record — including company name, state, status, and effective date — while get_agreement_detail surfaces full agreement metadata including settlement amount, duration, category, and associated tags for a single entity.
curl -X GET 'https://api.parse.bot/scraper/7de2cc57-d6a8-42c0-a9e8-74c68847f19d/browse_agreements?page=1&limit=5&status=Active' \ -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 oig-hhs-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.oig_hhs_corporate_integrity_agreements_api import OigHhs, AgreementStatus
oig = OigHhs()
# Browse active agreements
for summary in oig.agreementsummaries.list(status=AgreementStatus.ACTIVE, limit=5):
print(summary.company_name, summary.location, summary.state)
# Drill into full details
detail = summary.details()
print(detail.settlement_amount, detail.effective_from, detail.duration_years)
Browse and list corporate integrity agreements with optional filtering by status and search term. Returns company name, location, state, agreement type, status, and effective date for each agreement. Paginates at 20 items per page. Supports filtering by agreement status and free-text search over company names.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number to fetch (20 items per page). 0 or omitted fetches all pages. |
| limit | integer | Maximum number of agreements to return when fetching all pages. 0 means no limit. |
| search | string | Search term to filter agreements by company name or keywords. |
| status | string | Filter by agreement status. |
{
"type": "object",
"fields": {
"count": "integer - number of agreements returned in this response",
"agreements": "array of AgreementSummary objects",
"total_agreements": "integer - total number of matching agreements across all pages"
},
"sample": {
"data": {
"page": 1,
"count": 20,
"agreements": [
{
"state": "KY",
"location": "Barbourville, KY",
"detail_url": "https://oig.hhs.gov/compliance/corporate-integrity-agreements/browse-cias/family-health-care-associates-llc/",
"report_type": "Corporate Integrity Agreement",
"company_name": "Family Health Care Associates, LLC"
},
{
"state": "AZ",
"status": "Closed",
"location": "Phoenix, AZ",
"detail_url": "https://oig.hhs.gov/compliance/corporate-integrity-agreements/browse-cias/neurosurgical-associates-ltd/",
"report_type": "Corporate Integrity Agreement",
"company_name": "Neurosurgical Associates, Ltd",
"effective_date": "Feb 23, 2026"
}
],
"total_agreements": 334
},
"status": "success"
}
}About the HHS API
Browsing and Filtering Agreements
The browse_agreements endpoint returns a list of CIA records with fields including company_name, location, state, report_type, status, and effective_date. You can filter by status (accepted values: Active, Closed, Suspended, Refused by Entity) and by a search term to narrow results to a specific company or keyword. Pagination is handled via the page parameter (20 records per page); omitting it or passing 0 fetches all pages. A limit parameter caps results when fetching across multiple pages. Each record includes a detail_url you can pass directly to get_agreement_detail.
Agreement Detail Records
The get_agreement_detail endpoint accepts either a slug (e.g., neurosurgical-associates-ltd) or a full url and returns a single agreement's complete metadata. Returned fields include effective_to (ISO date), status, report_type, category, tags, location, state, and company_name. Settlement amount and press release info are also returned where available, providing context on the compliance action tied to each agreement.
Data Coverage
The HHS OIG CIA database covers healthcare entities — hospitals, physician groups, pharmaceutical companies, and others — that have entered into compliance agreements with the federal government. The state field allows geographic filtering across all U.S. states. Agreement statuses reflect current standing in the OIG's published records, and the total_agreements field in browse_agreements responses lets you track the full scope of matching results before paginating.
The HHS API is a managed, monitored endpoint for oig.hhs.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when oig.hhs.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 oig.hhs.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?+
- Screen healthcare vendors or partners against active OIG corporate integrity agreements before contracting
- Monitor newly effective CIAs by filtering
browse_agreementsby statusActiveand sorting byeffective_date - Build a compliance dashboard showing open CIAs by state using the
statefield frombrowse_agreements - Retrieve settlement amounts for specific entities via
get_agreement_detailto assess financial exposure in M&A due diligence - Track agreement closures over time by querying
status: Closedand aggregatingeffective_todates - Cross-reference a company name from a provider directory against OIG CIA records using the
searchparameter
| 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 HHS OIG provide an official developer API for corporate integrity agreements?+
What does `get_agreement_detail` return beyond what `browse_agreements` provides?+
browse_agreements returns summary fields: company_name, location, state, report_type, status, and effective_date. get_agreement_detail adds effective_to, category, tags, settlement amount, press release info, and the full title. Use get_agreement_detail when you need the complete record for a specific agreement.Can I retrieve the actual CIA document text or attached PDF through this API?+
How does pagination work in `browse_agreements`, and what is the default page size?+
page integer to retrieve a specific page. Set page to 0 or omit it to fetch all pages at once. Use the limit parameter to cap the total number of records returned when fetching across pages; setting limit to 0 returns all matching records without a cap. The response always includes total_agreements so you can calculate the full page count.Does the API cover CIAs for entities outside the United States?+
state field. Non-U.S. entities are not represented in the source data. You can fork this API on Parse and revise it if you need to supplement records with additional compliance databases.