canonical: https://jentic.com/apis/npr.org/sponsorship

# NPR Sponsorship Service

The NPR Sponsorship Service returns sponsor advertisement payloads for non-NPR One client applications that play NPR audio. Clients call the `/v2/ads` endpoint to fetch the next sponsorship spot to play, including the audio asset URL and tracking pixels for impression reporting. The service is OAuth 2.0 protected and is designed to be called between NPR audio segments to insert sponsor content compliantly.

## For AI agents

Fetch NPR sponsorship audio spots and impression-tracking metadata for insertion between NPR audio segments. One core endpoint at `/v2/ads.`

## Scope

Does not handle audio playback, station lookup, or general advertising inventory - use for NPR-licensed sponsorship spot retrieval and tracking only.

## Capabilities

- Fetch the next sponsor audio spot to play in an NPR-licensed audio app
- Retrieve impression-tracking pixels for sponsor delivery reporting
- Surface sponsor metadata including duration and creative asset URL
- Honor NPR's sponsorship rotation rules through the service's scheduling logic
- Issue impression callbacks back to NPR for accurate spot attribution

## Use cases

### Sponsor Insertion in Third-Party NPR Audio Apps

Apps licensed to play NPR audio outside of NPR One must request sponsor spots from the Sponsorship Service before playing each segment. The `/v2/ads` endpoint returns the audio creative URL and impression tracking pixels, ensuring sponsorship inventory is delivered and counted correctly. Without this call, the app cannot legally play NPR content under its licensing terms.

Example prompt: Call GET `/v2/ads` with the required client identifiers and play the returned creative URL before resuming NPR audio

### Impression Reporting for Sponsorship Compliance

Sponsorship revenue depends on accurate impression counts. The Sponsorship Service returns tracking pixels with each spot, and clients must fire those pixels at playback start to report delivery. This use case covers the reporting half of the contract - without firing tracking, NPR cannot bill sponsors accurately.

Example prompt: Parse the impression tracking URLs from the `/v2/ads` response and issue HTTP GETs against each one at playback start

### AI Agent Audio App Integration via Jentic

AI agents that orchestrate audio playback for partner apps use Jentic to discover and call the Sponsorship Service alongside the Station Finder. Through Jentic, the agent can request a sponsor spot, fire impression callbacks, and resume NPR content without holding NPR OAuth secrets in its prompt context.

Example prompt: Use Jentic to search for 'fetch NPR sponsor spot', load the `/v2/ads` schema, and execute it before starting NPR audio playback

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/v2/ads` | Fetch the next NPR sponsor spot with tracking pixels |

## Key resources

- **Ads** — Sponsorship spot retrieval and impression tracking endpoints

## Why Jentic

- **Setup:** Wiring the NPR Sponsorship Service by hand means carrying OAuth 2.0 credentials into calls to sponsorship.api.npr.org and handling sponsor-spot retrieval and tracking yourself. Through Jentic you install once, import the NPR Sponsorship Service from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** The sponsor-spot target here travels in the request rather than a URL path resource, so scope the agent to the operations it needs. This service exposes a single read operation, so the agent retrieves sponsor spots and nothing more unless you add other operations.
- **Credential handling:** Your NPR OAuth client credentials for the sponsorship service are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'fetch an NPR sponsor spot', and Jentic returns the GET `/v2/ads` operation with its parameter schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **NPR Station Finder** — Resolves the listener's local NPR member station before audio playback
- **NPR Station Finder Service** — Alternate slug for the same NPR station lookup service
- **Spotify** — General-purpose music and podcast streaming platform with built-in ad insertion

## FAQ

### What authentication does the NPR Sponsorship Service use?

The NPR Sponsorship Service uses OAuth 2.0 authorization code flow with the NPR identity authorization server at https://authorization.api.npr.org/v2/token. Through Jentic, NPR OAuth client credentials are isolated in the vault and only short-lived tokens reach the agent's request context.

### Can I fetch a sponsor spot to play before NPR audio with this API?

Yes. GET `/v2/ads` returns the next sponsor creative with its audio asset URL, duration, and impression tracking pixels for your client to fire at playback.

### What are the rate limits for the NPR Sponsorship Service?

NPR does not publish a numeric rate limit for `/v2/ads`, but the service is intended to be called once per audio segment boundary. Calling it more aggressively risks rotation logic returning the same spot.

### How do I insert an NPR sponsor spot through Jentic?

Search Jentic for 'fetch NPR sponsor spot', load the `/v2/ads` schema, and execute. The flow is: pip install jentic, then await client.search, load, and execute against https://sponsorship.api.npr.org.

### Is the NPR Sponsorship Service free to use?

The API itself has no usage fee, but access requires an NPR One Enterprise licensing agreement, including sponsor-insertion compliance terms documented at https://dev.npr.org/guide/app-experience/sponsorship/.

### Can I limit what my agent is allowed to do with the NPR Sponsorship API?

Yes. Because Jentic One is self-hosted, you decide which operations and credentials your agent may use, and your own rules govern what it can call. This service exposes a single read operation, GET `/v2/ads`, so you can scope the agent to just fetching the next sponsor spot and its impression-tracking pixels, and nothing more unless you grant additional operations. Your NPR OAuth client credentials stay on your instance and are injected only at execution time, so the agent never holds them.
