canonical: https://jentic.com/apis/crossref.org/crossref

# Crossref REST API

Jentic publishes the only available OpenAPI specification for Crossref REST API, keeping it validated and agent-ready. Crossref is the largest DOI registration agency for scholarly content and exposes a free public REST API for resolving DOIs and querying metadata across works, funders, members, journals, types, licenses, and prefixes. All responses are JSON and no authentication is required, although heavy users are encouraged to identify themselves via a polite mailto. The API powers a wide range of bibliographic, citation, and research-funding tools.

## For AI agents

Look up scholarly metadata by DOI, ISSN, funder, publisher member, or work type from the public Crossref catalog without authentication.

## Scope

Does not handle DOI registration, full-text article retrieval, or citation counts - use for Crossref scholarly metadata lookup only.

## Capabilities

- Resolve a DOI to its full Crossref metadata record via /works/{doi}
- Search and filter works across the entire Crossref corpus through /works query parameters
- List works funded by a specific funder via /funders/{id}/works
- List works published by a specific Crossref member via /members/{id}/works
- List works in a specific journal by ISSN via /journals/{issn}/works
- Look up DOI prefix ownership and the works under a given prefix

## Use cases

### DOI-to-Citation Resolution

Power a citation manager or reference renderer by resolving each DOI through GET /works/{doi} and formatting the returned title, authors, container-title, and date into a structured citation. This pattern is the backbone of most reference-management tools and produces consistent metadata across publishers because Crossref normalises across them. Free use makes it suitable for high-volume client-side tools as long as a polite mailto is supplied.

Example prompt: Resolve DOI 10.1038/s41586-020-2649-2 via GET /works/{doi} and extract title, authors, and publication year

### Funded-Research Reporting

Generate a report of all works funded by a specific organisation by calling GET /funders/{id}/works with filter and rows parameters. Funding agencies, university research offices, and bibliometrics teams use this to track output associated with a grant ID or funder, then enrich the output with citation counts pulled from other services. Pagination through cursor parameters handles funders with thousands of works.

Example prompt: List the first 100 works funded by funder ID 100000001 published in 2025 and return their DOIs and titles

### Journal Coverage Audit

Audit which articles a journal has registered with Crossref by calling GET /journals/{issn}/works with a date filter, useful for librarians confirming completeness of a journal's metadata or for a publisher running QA on their own back catalog. The /journals/{issn} endpoint returns header metadata about the journal itself for context.

Example prompt: Fetch all works in journal ISSN 0028-0836 published since 2024-01-01 and report any DOIs missing abstracts

### AI Agent Bibliographic Verification

An AI agent verifies a citation in a manuscript by resolving its DOI through Crossref via Jentic. The agent searches for the crossref_get_work operation, executes against the Crossref public endpoint (no credential needed), and compares the returned title and author list against the manuscript reference list to flag mismatches. Jentic still normalises the call shape so the agent treats Crossref like any other tool.

Example prompt: Use the Jentic SDK to look up a list of DOIs and return any whose Crossref title differs from the manuscript reference

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /works | List or search works |
| GET | /works/{doi} | Get a work by DOI |
| GET | /funders/{id}/works | List works for a funder |
| GET | /members/{id}/works | List works for a member |
| GET | /journals/{issn}/works | List works for a journal |
| GET | /types/{id}/works | List works by type |
| GET | /prefixes/{prefix}/works | List works by DOI prefix |

## Key resources

- **Works** — List or search works across the Crossref corpus and resolve a single work by DOI via /works and /works/{doi}
- **Funders** — List funders or get a single funder by ID, plus list works for a funder via /funders/{id}/works
- **Members** — List Crossref members (publishers) or get one by ID, plus list works for a member
- **Journals** — List journals or get one by ISSN, plus list works for a journal
- **Types, Licenses, and Prefixes** — Browse work types, licenses across the corpus, and DOI prefix metadata

## Why Jentic

- **Setup:** Wiring Crossref by hand means constructing its filter and facet query strings, and adding a polite mailto identifier to reach the better rate-limit pool. Through Jentic you install once, import Crossref from the API Directory, and your agent calls it with the call shape standardized for you.
- **Permission scoping:** Crossref is a read-only public metadata API, so you limit the agent to the operations it needs, such as looking up a work by DOI or listing works by funder. You choose the operations it may call, so anything outside metadata lookup is not included unless you add it.
- **Credential handling:** Crossref's public endpoints need no credential, so there is nothing for Jentic to store; where you supply a mailto identifier, your own Jentic One instance holds it and injects it at execution time so it never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'look up a DOI' or 'list works by funder', and Jentic returns the matching Crossref operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Crossmint API** — Crossmint mints NFTs that can reference scholarly works whose metadata comes from Crossref
- **Cronitor API** — Cronitor monitors scheduled jobs that may sync Crossref metadata into a downstream catalog
- **Cron-job.org API** — cron-job.org schedules recurring HTTP calls into Crossref for incremental metadata sync

## FAQ

### Why is there no official OpenAPI spec for Crossref REST API?

Crossref does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Crossref REST API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Crossref REST API use?

The Crossref REST API requires no authentication for its public endpoints. Heavy or programmatic users are asked to identify themselves with a polite mailto query parameter or User-Agent so they receive better service and avoid the public pool's rate limits.

### Can I retrieve all works funded by a specific funder?

Yes. GET /funders/{id}/works returns the works associated with a Crossref funder ID, and supports filter and pagination parameters so you can scope by date, type, or publisher.

### How do I resolve a DOI through Jentic?

Search Jentic for 'look up a DOI', load the operation schema for GET /works/{doi}, and execute with the DOI string. No credential is needed; Jentic still normalises the call so the agent treats Crossref like any other tool in its registry.

### How many endpoints does the Crossref REST API expose?

Seventeen GET endpoints across works, funders, members, journals, types, licenses, and prefixes, plus the works-listing variants nested under each.

### Is the Crossref API free to use?

Yes. The Crossref public REST API is free and unauthenticated. There is also a paid Plus service tier for users who need guaranteed performance, but the same endpoints work without credentials in the public pool.

### Can I limit what my agent is allowed to do with the Crossref REST API?

Yes. Because you run Jentic One yourself, your own rules decide which Crossref operations the agent may call, and Crossref is a read-only public metadata API to begin with. You can allow only the lookups the task needs, such as resolving a work by DOI through GET /works/{doi} or listing works by funder through GET /funders/{id}/works, and leave out anything else like member, journal, or prefix queries. Any operation you do not include stays off limits to the agent.
