{"eid":"npr","name":"NPR One API","domain":"npr.org","resolved_by":"domain","topics":["data-apis"],"n_records":1,"best_vorder":4,"review":null,"aliases":["NPR One API","NPR One API (NPR Developer Center)","npr.org"],"records":[{"rid":"data-apis/npr-one","card":{"rid":"data-apis/npr-one","eid":"npr","topic":"data-apis","slug":"npr-one","provider":"NPR One API (NPR Developer Center)","url":"https://dev.npr.org/","domain":"npr.org","category":"audio and news content API","tier":"Developer account (closed to new accounts)","verdict":"fails-identity","vorder":4,"grp":"rejected","self_hosted":0,"confidence":"reported","binding":"write-gated","identity_kind":"institution","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":1,"country":null,"crypto":null,"interfaces":"rest","egress_metered":null,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-11-03T00:30:00.000Z","verified_basis":"live","checked_on":"2026-11-03","stale_on":"2026-11-18","n_evidence":5,"usd_month":null,"usd_per_tb_month":null,"summary":"none reachable: the developer center said it was not accepting new login accounts, and its host no longer resolves.","duplicate_of":null,"n_unknown":1,"free_unit":"none"},"record":{"topic":"data-apis","slug":"npr-one","provider":"NPR One API (NPR Developer Center)","url":"https://dev.npr.org/","category":"audio and news content API","tier":"Developer account (closed to new accounts)","free_tier":{"stated":"none reachable: the developer center said it was not accepting new login accounts, and its host no longer resolves.","unit":"none","metered_on":"none","source_url":"https://dev.npr.org/","read_on":"2026-11-02","notes":"The legacy Story API is retired. Its successor, the Content Distribution Service, gives a key to member stations through NPR member partnership; no self-serve key is described."},"per_object_cap":{"stated":"not stated","bytes":null,"source_url":"https://dev.npr.org/","notes":""},"retention":{"stated":"not stated","days":null,"notes":"","source_url":"https://dev.npr.org/"},"egress":{"terms":"not assessed: no account can be opened to read content","metered":false,"free_allowance":null,"price_per_tb":null,"source_url":"https://dev.npr.org/"},"interface":["rest"],"interface_detail":"REST over HTTPS at listening.api.npr.org, identity.api.npr.org and authorization.api.npr.org, with an OAuth bearer token from the authorization service","endpoint":"https://listening.api.npr.org/v2/recommendations","tooling":"any HTTP client; NPR published a JavaScript SDK and a PHP backend proxy for token handling","chaining":"Audio recommendations and listening data for NPR One apps; the news text route is the Content Distribution Service, for member stations.","limits":[{"kind":"write-gated","value":"new developer accounts are closed; a Content Distribution Service key goes to member stations through member partnership","source":"https://dev.npr.org/"}],"binding":"write-gated","binding_note":"No new account can be opened, so no rate or quota is reachable.","identity_cost":{"kind":"institution","detail":"New developer logins were closed on the last copy of the developer center read; the successor service names member stations as its key holders.","country":null},"reliability_note":"The developer center host dev.npr.org failed DNS on 2026-11-03; the API hosts still answer HTTP 401 without a token; the Story API is retired.","confidence":"reported","confidence_note":"The closed-registration notice is read from an archived copy of the developer center dated 2024-07-14, and the host no longer resolves, so the present state of registration is inferred; the API hosts answering 401 shows the service is up for existing holders.","evidence":[{"url":"https://web.archive.org/web/20240714235112/http://dev.npr.org/","date":"2026-11-02","proved":"the developer center was not accepting new login accounts (archived copy dated 2024-07-14)","capture":"sha256:2ad4639e905174566641fe9967d1e361856fecec3f07828c64a4f201c0363020","quote":"We are currently not accepting new login accounts, but existing users can continue to access this service."},{"url":"probe:https://dev.npr.org/","date":"2026-11-03","proved":"the developer center host failed DNS","capture":"sha256:60507351394fc1e8624e6e229a1f0d8f8247987441aa5104ff9cea959265d279","quote":"\"error\": \"dns\""},{"url":"probe:https://listening.api.npr.org/v2/recommendations","date":"2026-11-03","proved":"the listening API host answers HTTP 401 without a token","capture":"sha256:9ecdf9b7337b5af72b9a1b5bb4f792ecc6fe370792dd1801cc5f8e92c6264fcc","quote":"\"status\": 401"},{"url":"https://legacy.npr.org/api/index","date":"2026-11-02","proved":"the Story API is retired","capture":"sha256:d5bee0e1f1b81f16d603e78b278a80392196b4eb576ab60ad06cfc6f4bb08358","quote":"After over 15 years of service, Story API is retiring! As a result, we are no longer supporting this page."},{"url":"https://npr.github.io/content-distribution-service/getting-started.html","date":"2026-11-02","proved":"the successor service gives keys to member stations through member partnership","capture":"sha256:23b4f0d37a824ccb53de4a10e1c0ddc6ffb479fbb0b488e996c51255d8d48424","quote":"If you are a Member Station and need a CDS key, reach out to [Member Partnership](https://studio.npr.org/s/support-home)."}],"verdict":"fails-identity","verified_at":"2026-11-03T00:30:00.000Z","notes":"Storage: no storage term was readable because the developer center host does not resolve. Bulk path: none found."},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[0].value","kind":"limit:write-gated","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.egress.metered","egress-unknown"]],"history":[],"drift":[]}]}