canonical: https://jentic.com/apis/hhs.gov/hhs

# Hhs Gov HHS Media Services API

The HHS Media Services API exposes the U.S. Department of Health & Human Services syndicated content library - public health campaigns, media items, languages, sources, and tags - for embedding in third-party sites and applications. Across 31 GET endpoints, integrators can search media items by keyword, list campaigns, retrieve campaign-specific media, fetch ready-to-embed snippets, and pull thumbnails or YouTube metadata. The API supports multi-column sorting via a sort query parameter (with a leading hyphen for descending order) and RFC 3339 dates, and is read-only with no authentication.

## For AI agents

Search and retrieve U.S. HHS public-health media items, campaigns, sources, tags, and embed code from a read-only government syndication library - no authentication required.

## Scope

Does not handle clinical trial registration, electronic health records, or insurance enrollment - use for searching and embedding HHS public-health media content only.

## Capabilities

- Search the HHS media library by keyword via GET `/resources/media/searchResults.json`
- List public health campaigns and pull media tied to a specific campaign through `/resources/campaigns/{id}/media.json`
- Retrieve ready-to-embed snippets for a media item via GET `/resources/media/{id}/embed.json`
- Fetch related media for a given item or tag using `/resources/media/{id}/relatedMedia.{format}` and `/resources/tags/{id}/related.{format}`
- Pull thumbnails, preview images, and YouTube metadata for a media item
- Browse the controlled vocabulary of tags and tag types to filter content programmatically
- Sort any list response across multiple columns by passing a comma-separated sort parameter with optional leading hyphens

## Use cases

### Public Health Content Embedding

Community health sites and clinic portals embed HHS-curated content by calling GET `/resources/media/{id}/embed.json` to fetch HTML snippets or GET `/resources/media/{id}/syndicate.{format}` for the syndication payload. Content stays current automatically because the snippets reference HHS-hosted assets, so updated guidance flows through without site redeployments.

Example prompt: Call GET `/resources/media/{id}/embed.json` for the chosen media id and place the returned HTML in a clinic site's resource page.

### Campaign Aggregation

Researchers and policy teams pull a list of public health campaigns via GET `/resources/campaigns.json` and drill into each via `/resources/campaigns/{id}/media.json` to study how HHS messages a topic across formats. Combined with the tags endpoints, this enables longitudinal analysis of campaign breadth and language coverage.

Example prompt: Call GET `/resources/campaigns.json`, then for each campaign id call `/resources/campaigns/{id}/media.json` and aggregate the media counts by language.

### Multilingual Health Content Discovery

Localised community sites use GET `/resources/languages.json` to map ISO codes to HHS language ids, then filter media searches via GET `/resources/media/searchResults.json` to surface content in a visitor's language. The tags vocabulary lets the same site offer topic-based browsing aligned with HHS taxonomies.

Example prompt: Call GET `/resources/languages.json` to find the Spanish id, then GET `/resources/media/searchResults.json` with that language id and a topic keyword.

### AI Agent Health Information Lookup

Through Jentic, an AI agent answering a health-information question can search HHS Media Services for authoritative content and surface the embed link in its response. Because the API is unauthenticated, Jentic simply routes the GET requests; there is no key to manage, and the agent can cite a government source directly.

Example prompt: Search Jentic for 'search hhs media items', execute GET `/resources/media/searchResults.json` with q=diabetes, and return the top three titles with their embed URLs.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/resources/media/searchResults.json` | Search media items by keyword |
| GET | `/resources/media/{id}.json` | Get a media item by id |
| GET | `/resources/media/{id}/embed.json` | Get embed code for a media item |
| GET | `/resources/campaigns.json` | List public health campaigns |
| GET | `/resources/campaigns/{id}/media.json` | List media items for a campaign |
| GET | `/resources/languages.json` | List supported languages |
| GET | `/resources/tags.{format}` | List the tag vocabulary |

## Key resources

- **Media** — Search, list, retrieve, and pull embed or syndicate payloads for individual media items
- **Campaigns** — List and retrieve public-health campaigns and their associated media
- **Languages** — List supported languages and filter media by language id
- **Sources** — List source publishers and retrieve their syndicated content
- **Tags** — Browse the controlled vocabulary, find related tags, and list media for a tag
- **Media Types** — Enumerate the supported media types for filtering
- **User Media Lists** — Retrieve a saved user media list by id

## Why Jentic

- **Setup:** The HHS Media Services API needs no auth, so wiring it by hand still means handling its search and resource query parameters and writing your own retry logic around the media, campaign, and tag endpoints. Through Jentic you install once, import the HHS Media Services API from the API Directory, and your agent calls it with consistent retry handling like any other operation.
- **Permission scoping:** The HHS Media Services API exposes read-only search and resource reads, with the media id in the path (`/resources/media/{id}.json`) and search terms in query parameters, so limit the agent to the operations it needs, such as searching media or reading a campaign's items. There is nothing to write or delete, so the allowed set is exactly the reads it needs.
- **Credential handling:** The HHS Media Services API is unauthenticated, so there is no credential to store, and your Jentic One instance forwards the call directly. No secret ever enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'search HHS media items' or 'list public health campaigns', and Jentic returns the matching HHS operation with its input schema so the agent calls the right endpoint without scanning the spec.

## Related APIs

- **ClinicalTrials.gov API** — ClinicalTrials.gov exposes structured trial records that complement HHS syndicated public-health media
- **HealthCare.gov API** — HealthCare.gov surfaces marketplace plan data alongside HHS public-health content
- **OpenAI API** — OpenAI provides language model inference for summarising or translating HHS media content

## FAQ

### What authentication does the HHS Media Services API use?

The HHS Media Services API is a public, read-only syndication API and does not require authentication. Jentic still routes calls through its runtime so you get consistent retry, observability, and rate-aware behaviour even though no credential is exchanged.

### Can I embed HHS media on my site through the API?

Yes. GET `/resources/media/{id}/embed.json` returns embed-ready code for a chosen media item, and `/resources/media/{id}/syndicate.{format}` returns the underlying syndicated payload in JSON or another format. Updated content flows through automatically because the embed references HHS-hosted assets.

### How does sorting work on HHS list endpoints?

List endpoints accept a sort query parameter that supports multiple columns separated by commas. Prefix a field with a hyphen for descending order - for example, sort=-name,id sorts by name descending, then id ascending. Date inputs follow RFC 3339, e.g., 2013-11-18T18:43:01Z.

### How do I search HHS media items through Jentic?

Run pip install jentic, search for 'search hhs media items', and execute against GET `/resources/media/searchResults.json` with q=<keyword>. Jentic returns the JSON payload with matching media items and their ids for follow-up calls.

### Are there rate limits on the HHS Media Services API?

HHS does not publish hard rate limits in the spec. Treat the API as a public good - cache responses, avoid tight polling, and back off on any error responses. Bulk syndication is best done via the /syndicate.{format} endpoints which return larger payloads in one call.

### Can I limit what my agent is allowed to do with the HHS Media Services API?

Yes. Because you run Jentic One yourself, your own rules decide which HHS operations and credentials the agent may use, so you can restrict it to just the reads it needs, such as searching media via GET `/resources/media/searchResults.json` or listing a campaign's items via GET `/resources/campaigns/{id}/media.json.` The API is read-only with no write or delete operations, so the allowed set is exactly the media, campaign, tag, and language reads you grant. Since the API is unauthenticated, no credential is exchanged, and the agent can only call the endpoints your configuration permits.
