# Unpaywall on Onekey > 1 endpoint for Unpaywall (1 stable, 0 beta), 1 credit each. Category: Science & research. One key, one JSON shape. Base URL: https://api.onekey.dev Auth: header `x-api-key: `. Call shape: `GET /v1/{platform}/{endpoint}?{params}`. Every response is `{success, data, metadata, error}`; check `success` first. Cost is in `metadata.credits_charged`. Free when served from cache (0.2 credit for a cached response over 100 KB). Failed and not-found calls are refunded. Status: stable = verified against the live source; beta = not yet verified, fields may be missing. Page: https://onekey.dev/platforms/unpaywall Reference (Markdown): https://onekey.dev/docs/api/unpaywall.md All docs: https://onekey.dev/llms.txt ## Canonical fields returned Unified-schema fields (same names on every platform), with how many of the 1 mapped Unpaywall endpoints return each: - `content.title` (string): 1 - `content.year` (integer): 1 - `paper.doi` (string): 1 - `paper.openAccess` (boolean): 1 - `paper.openAccessUrl` (URL): 1 - `paper.publisher` (string): 1 - plus 1 platform-specific field under `ext.` ## Endpoints ### unpaywall.doi Open-access status and best free full-text location of a DOI (Unpaywall). - Price: 1 credit per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/unpaywall/doi?doi=10.1038%2Fnature12373` with header `x-api-key: YOUR_API_KEY` - Parameters: - `doi` (string, required): DOI, e.g. 10.1038/nature12373 - `email` (string, optional, default contact@weft.dev): Contact email required by Unpaywall - Fields returned: `paper.doi`, `content.title`, `content.year`, `paper.openAccess`, `paper.openAccessUrl`, `paper.publisher`, `ext.openAccessStatus` - Reference: https://onekey.dev/docs/api/unpaywall/doi.md ## Sample request ```bash curl "https://api.onekey.dev/v1/unpaywall/doi?doi=10.1038%2Fnature12373" \ -H "x-api-key: YOUR_API_KEY" ```