---
type: "firecrawl-provider"
description: "DOI resolution through the doi.org Handle proxy: landing URL and handle values for a DOI, registration-agency lookup for batches of DOIs, content-negotiated bibliographic metadata (CSL JSON, BibTeX, citations, RDF/XML, DataCite JSON), prefix administration, the registration-agency directory and DOI system statistics."
use_when: "DOI resolution through the doi.org Handle proxy: landing URL and handle values for a DOI, registration-agency lookup for batches of DOIs, content-negotiated bibliographic metadata (CSL JSON, BibTeX, citations, RDF/XML, DataCite JSON), prefix administration, the registration-agency directory and DOI system statistics."
categories: "Tools"
capabilities: 7
credits_per_call: 5
---
# DOI.org on Firecrawl Alexandria

DOI resolution through the doi.org Handle proxy: landing URL and handle values for a DOI, registration-agency lookup for batches of DOIs, content-negotiated bibliographic metadata (CSL JSON, BibTeX, citations, RDF/XML, DataCite JSON), prefix administration, the registration-agency directory and DOI system statistics.

- Categories: Tools
- Category index: [Tools category](https://firecrawl.dev/alexandria/agents/categories/tools)
- Provider key: `doi-org`
- Access: Firecrawl credits
- Cost: 5 credits per call

## More

- [Human guide](https://firecrawl.dev/app/alexandria/doi-org)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/doi-org/openapi.json)

## Capabilities

- [Metadata](https://firecrawl.dev/alexandria/agents/providers/doi-org/identifiers/metadata): Bibliographic metadata for a DOI through doi.org content negotiation: `GET https://doi.org/{doi}` with an `Accept` header, following the 302 to the registration agency's metadata service (api.crossref.org, data.crosscite.org, data.medra.org, japanlinkcenter.org, data.doi.or.kr, proxy.eidr.org). CSL JSON (every agency) and DataCite JSON are parsed and summarised; BibTeX, formatted citations, RDF/XML and UNIXREF XML are returned as text.
- [Monthly statistics](https://firecrawl.dev/alexandria/agents/providers/doi-org/identifiers/monthly_statistics): Monthly time series from handle `10.1000/1000`: resolutions per month (`DOI_RESOLUTIONS.monthlyResolutions`, since 1999) merged with registered DOI and prefix counts (`DOI_COUNTS`, since 2003), one row per month, windowed to `from..=to`.
- [Prefix](https://firecrawl.dev/alexandria/agents/providers/doi-org/identifiers/prefix): Who administers a DOI prefix: the registration agency (`GET /doiRA/{prefix}`), the prefix handle's `HS_SERV` service handle (`GET /api/handles/{prefix}`) and that service's display name and content-negotiation location template (`GET /api/handles/10.SERV/{ra}`).
- [Registration agencies](https://firecrawl.dev/alexandria/agents/providers/doi-org/identifiers/registration_agencies): The DOI Foundation's directory of registration agencies (www.doi.org/the-community/existing-registration-agencies/): name, website and description of each agency.
- [Registration agency](https://firecrawl.dev/alexandria/agents/providers/doi-org/identifiers/registration_agency): Which registration agency (Crossref, DataCite, mEDRA, JaLC, EIDR, KISTI, ...) registered each DOI, for up to 50 DOIs in one `GET /doiRA/{a},{b},...` request. Unregistered DOIs are reported per row; the call fails with `not_found` only when none of them is registered.
- [Resolution statistics](https://firecrawl.dev/alexandria/agents/providers/doi-org/identifiers/resolution_statistics): DOI system resolution statistics published in handle `10.1000/1000` (`DOI_RESOLUTIONS` value, the home page's source): all-time and last-24-hour resolutions, rates per second, uptime, bot and content-negotiation shares, and resolutions per country in the last complete month.
- [Resolve](https://firecrawl.dev/alexandria/agents/providers/doi-org/identifiers/resolve): Resolve a DOI through the doi.org Handle proxy (`GET /api/handles/{doi}`): the URL it redirects to, every handle value and the registration agency (`GET /doiRA/{doi}`). Nothing is fetched from the publisher.

## 1. Choose this provider when

DOI resolution through the doi.org Handle proxy: landing URL and handle values for a DOI, registration-agency lookup for batches of DOIs, content-negotiated bibliographic metadata (CSL JSON, BibTeX, citations, RDF/XML, DataCite JSON), prefix administration, the registration-agency directory and DOI system statistics.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "doi-org",
  "capability": "identifiers/metadata",
  "options": {
    "doi": "10.5438/0012"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `doi` (string, required): A DOI name such as `10.1038/nature12373`; `doi:` and `https://doi.org/...` forms are accepted. Example: `10.1038/nature12373`
- `format` (string): `csl_json` (default; all agencies), `bibtex`, `citation` (formatted text, see `style`), `rdf_xml`, `unixref_xml` (Crossref only), `datacite_json` (DataCite only). Example: `csl_json`
- `include_references` (boolean): Keep the CSL `reference` list in `document` (can be large). Example: `false`
- `style` (string): CSL style id for `format: citation`, e.g. `apa` (default), `chicago-author-date`, `ieee`. Pattern: ^[a-z0-9-]{1,64}$. Example: `format: citation`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "doi-org",
    capability: "identifiers/metadata",
    options: {
      doi: "10.5438/0012",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "doi-org",
  "capability": "identifiers/metadata",
  "options": {
    "doi": "10.5438/0012"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "doi-org",
    "capability": "identifiers/metadata",
    "options": {
      "doi": "10.5438/0012"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'doi-org/identifiers/metadata' \
  --options '{"doi":"10.5438/0012"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "doi-org",
  "capability": "identifiers/metadata",
  "options": {
    "doi": "10.5438/0012"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "doi-org",
  "capability": "identifiers/metadata",
  "options": {
    "doi": "10.5438/0012"
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "accept": "application/vnd.citationstyles.csl+json",
  "content_type": "application/vnd.citationstyles.csl+json; charset=utf-8",
  "document": {
    "DOI": "10.5438/0012",
    "URL": "https://schema.datacite.org/meta/kernel-4.0/index.html",
    "abstract": "1 Introduction\n1.1 The DataCite Consortium\n1.2 DataCite Community Participation\n1.3 The Metadata Schema\n1.4 Version 4.0 Update\n2 DataCite Metadata Properties\n2.1 Overview\n2.2 Citation\n2.3 DataCite Properties\n3 XML Example\n4 XML Schema\n5 Other DataCite Services\nAppendices\nAppendix 1: Controlled List Definitions\nAppendix 2: Earlier Version Update Notes",
    "author": [
      {
        "literal": "DataCite Metadata Working Group"
      }
    ],
    "container-title": "DataCite e.V.",
    "contributor": [
      {
        "family": "Starr",
        "given": "Joan"
      },
      {
        "family": "Smaele",
        "given": "Madeleine de"
      },
      {
        "family": "Ziedorn",
        "given": "Frauke"
      }
    ],
    "editor": [
      {
        "family": "Ashton",
        "given": "Jan"
      },
      {
        "family": "Barton",
        "given": "Amy"
      },
      {
        "family": "Bradford",
        "given": "Tina"
      },
      {
        "family": "Ciolek-Figiel",
        "given": "Anne"
      },
      {
        "family": "Dietiker",
        "given": "Stefanie"
      },
      {
        "family": "Elliot",
        "given": "Jannean"
      },
      {
        "family": "Genat",
        "given": "Berrit"
      },
      {
        "family": "Harzenetter",
        "given": "Karoline"
      },
      {
        "family": "Hirschmann",
        "given": "Barbara"
      },
      {
        "family": "Jakobsson",
        "given": "Stefan"
      },
      {
        "family": "Mailloux",
        "given": "Jean-Yves"
      },
      {
        "family": "Newbold",
        "given": "Elizabeth"
      },
      {
        "family": "Nielsen",
        "given": "Lars Holm"
      },
      {
        "family": "Yahia",
        "given": "Mohamed"
      }
    ],
    "id": "https://doi.org/10.5438/0012",
    "issued": {
      "date-parts": [
        [
          2016,
          9,
          19
        ]
      ]
    },
    "language": "en",
    "publisher": "DataCite e.V.",
    "title": "DataCite Metadata Schema Documentation for the Publication and Citation of Research Data v4.0",
    "type": "article-journal"
  },
  "doi": "10.5438/0012",
  "format": "csl_json",
  "observed_at_ms": 1790282612633,
  "reference_count": null,
  "registration_agency": "DataCite",
  "source_url": "https://data.crosscite.org/10.5438%2F0012",
  "summary": {
    "authors": [
      "DataCite Metadata Working Group"
    ],
    "container_title": "DataCite e.V.",
    "publisher": "DataCite e.V.",
    "title": "DataCite Metadata Schema Documentation for the Publication and Citation of Research Data v4.0",
    "type": "article-journal",
    "url": "https://schema.datacite.org/meta/kernel-4.0/index.html",
    "year": 2016
  },
  "text": null
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### Metadata

- Capability: `identifiers/metadata`
- Description: Bibliographic metadata for a DOI through doi.org content negotiation: `GET https://doi.org/{doi}` with an `Accept` header, following the 302 to the registration agency's metadata service (api.crossref.org, data.crosscite.org, data.medra.org, japanlinkcenter.org, data.doi.or.kr, proxy.eidr.org). CSL JSON (every agency) and DataCite JSON are parsed and summarised; BibTeX, formatted citations, RDF/XML and UNIXREF XML are returned as text.
- Instructions: You need the title, authors, venue, year or a citation for a DOI, or the full CSL/DataCite record.
- Cost: 5 credits per call
- Capability file: [Metadata](https://firecrawl.dev/alexandria/agents/providers/doi-org/identifiers/metadata)

Accepted options:
- `doi` (string, required): A DOI name such as `10.1038/nature12373`; `doi:` and `https://doi.org/...` forms are accepted. Example: `10.1038/nature12373`
- `format` (string): `csl_json` (default; all agencies), `bibtex`, `citation` (formatted text, see `style`), `rdf_xml`, `unixref_xml` (Crossref only), `datacite_json` (DataCite only). Example: `csl_json`
- `include_references` (boolean): Keep the CSL `reference` list in `document` (can be large). Example: `false`
- `style` (string): CSL style id for `format: citation`, e.g. `apa` (default), `chicago-author-date`, `ieee`. Pattern: ^[a-z0-9-]{1,64}$. Example: `format: citation`

Response schema example:
```json
{
  "accept": "application/vnd.citationstyles.csl+json",
  "content_type": "application/vnd.citationstyles.csl+json; charset=utf-8",
  "document": {
    "DOI": "10.5438/0012",
    "URL": "https://schema.datacite.org/meta/kernel-4.0/index.html",
    "abstract": "1 Introduction\n1.1 The DataCite Consortium\n1.2 DataCite Community Participation\n1.3 The Metadata Schema\n1.4 Version 4.0 Update\n2 DataCite Metadata Properties\n2.1 Overview\n2.2 Citation\n2.3 DataCite Properties\n3 XML Example\n4 XML Schema\n5 Other DataCite Services\nAppendices\nAppendix 1: Controlled List Definitions\nAppendix 2: Earlier Version Update Notes",
    "author": [
      {
        "literal": "DataCite Metadata Working Group"
      }
    ],
    "container-title": "DataCite e.V.",
    "contributor": [
      {
        "family": "Starr",
        "given": "Joan"
      },
      {
        "family": "Smaele",
        "given": "Madeleine de"
      },
      {
        "family": "Ziedorn",
        "given": "Frauke"
      }
    ],
    "editor": [
      {
        "family": "Ashton",
        "given": "Jan"
      },
      {
        "family": "Barton",
        "given": "Amy"
      },
      {
        "family": "Bradford",
        "given": "Tina"
      },
      {
        "family": "Ciolek-Figiel",
        "given": "Anne"
      },
      {
        "family": "Dietiker",
        "given": "Stefanie"
      },
      {
        "family": "Elliot",
        "given": "Jannean"
      },
      {
        "family": "Genat",
        "given": "Berrit"
      },
      {
        "family": "Harzenetter",
        "given": "Karoline"
      },
      {
        "family": "Hirschmann",
        "given": "Barbara"
      },
      {
        "family": "Jakobsson",
        "given": "Stefan"
      },
      {
        "family": "Mailloux",
        "given": "Jean-Yves"
      },
      {
        "family": "Newbold",
        "given": "Elizabeth"
      },
      {
        "family": "Nielsen",
        "given": "Lars Holm"
      },
      {
        "family": "Yahia",
        "given": "Mohamed"
      }
    ],
    "id": "https://doi.org/10.5438/0012",
    "issued": {
      "date-parts": [
        [
          2016,
          9,
          19
        ]
      ]
    },
    "language": "en",
    "publisher": "DataCite e.V.",
    "title": "DataCite Metadata Schema Documentation for the Publication and Citation of Research Data v4.0",
    "type": "article-journal"
  },
  "doi": "10.5438/0012",
  "format": "csl_json",
  "observed_at_ms": 1790282612633,
  "reference_count": null,
  "registration_agency": "DataCite",
  "source_url": "https://data.crosscite.org/10.5438%2F0012",
  "summary": {
    "authors": [
      "DataCite Metadata Working Group"
    ],
    "container_title": "DataCite e.V.",
    "publisher": "DataCite e.V.",
    "title": "DataCite Metadata Schema Documentation for the Publication and Citation of Research Data v4.0",
    "type": "article-journal",
    "url": "https://schema.datacite.org/meta/kernel-4.0/index.html",
    "year": 2016
  },
  "text": null
}
```

### Monthly statistics

- Capability: `identifiers/monthly_statistics`
- Description: Monthly time series from handle `10.1000/1000`: resolutions per month (`DOI_RESOLUTIONS.monthlyResolutions`, since 1999) merged with registered DOI and prefix counts (`DOI_COUNTS`, since 2003), one row per month, windowed to `from..=to`.
- Instructions: Chart DOI system growth or resolution volume over time.
- Cost: 5 credits per call
- Capability file: [Monthly statistics](https://firecrawl.dev/alexandria/agents/providers/doi-org/identifiers/monthly_statistics)

Accepted options:
- `from` (string): Inclusive lower bound `YYYY-MM`. Pattern: ^[0-9]{4}-[0-9]{2}$. Example: `YYYY-MM`
- `to` (string): Inclusive upper bound `YYYY-MM`. Pattern: ^[0-9]{4}-[0-9]{2}$. Example: `YYYY-MM`

Response schema example:
```json
{
  "from": "2025-01",
  "month_count": 12,
  "months": [
    {
      "doi_count": 391646425,
      "month": "2025-01",
      "prefix_count": 171339,
      "resolutions": 1747429801
    },
    {
      "doi_count": null,
      "month": "2025-02",
      "prefix_count": null,
      "resolutions": 1623455057
    },
    {
      "doi_count": null,
      "month": "2025-03",
      "prefix_count": null,
      "resolutions": 2205056073
    },
    {
      "doi_count": 406328618,
      "month": "2025-04",
      "prefix_count": 171505,
      "resolutions": 1906360814
    },
    {
      "doi_count": null,
      "month": "2025-05",
      "prefix_count": null,
      "resolutions": 1756846596
    },
    {
      "doi_count": null,
      "month": "2025-06",
      "prefix_count": null,
      "resolutions": 1740600964
    },
    {
      "doi_count": 417743323,
      "month": "2025-07",
      "prefix_count": 173349,
      "resolutions": 1729453529
    },
    {
      "doi_count": null,
      "month": "2025-08",
      "prefix_count": null,
      "resolutions": 1989097614
    },
    {
      "doi_count": null,
      "month": "2025-09",
      "prefix_count": null,
      "resolutions": 2351568539
    },
    {
      "doi_count": 435356132,
      "month": "2025-10",
      "prefix_count": 172358,
      "resolutions": 2476704642
    },
    {
      "doi_count": null,
      "month": "2025-11",
      "prefix_count": null,
      "resolutions": 2640689117
    },
    {
      "doi_count": null,
      "month": "2025-12",
      "prefix_count": null,
      "resolutions": 3071362438
    }
  ],
  "observed_at_ms": 1790282668578,
  "source_url": "https://doi.org/api/handles/10.1000/1000?type=DOI_RESOLUTIONS&type=DOI_COUNTS",
  "to": "2025-12"
}
```

### Prefix

- Capability: `identifiers/prefix`
- Description: Who administers a DOI prefix: the registration agency (`GET /doiRA/{prefix}`), the prefix handle's `HS_SERV` service handle (`GET /api/handles/{prefix}`) and that service's display name and content-negotiation location template (`GET /api/handles/10.SERV/{ra}`).
- Instructions: Learn which agency and which metadata endpoint serve every DOI under a prefix.
- Cost: 5 credits per call
- Capability file: [Prefix](https://firecrawl.dev/alexandria/agents/providers/doi-org/identifiers/prefix)

Accepted options:
- `prefix` (string, required): A DOI prefix such as `10.1038`; `0.NA/10.1038`, a full DOI or a doi.org link are reduced to the prefix. Example: `10.1038`

Response schema example:
```json
{
  "content_negotiation_templates": [
    "https://api.crossref.org/v1/works/{hdl}/transform"
  ],
  "observed_at_ms": 1790282620749,
  "prefix": "10.1038",
  "registration_agency": "Crossref",
  "service_handle": "10.SERV/CROSSREF",
  "service_name": "Crossref",
  "service_updated_at": "2016-09-21T20:45:23Z",
  "source_url": "https://doi.org/doiRA/10.1038",
  "state": "registered"
}
```

### Registration agencies

- Capability: `identifiers/registration_agencies`
- Description: The DOI Foundation's directory of registration agencies (www.doi.org/the-community/existing-registration-agencies/): name, website and description of each agency.
- Instructions: List the agencies that issue DOIs and where to find them.
- Cost: 5 credits per call
- Capability file: [Registration agencies](https://firecrawl.dev/alexandria/agents/providers/doi-org/identifiers/registration_agencies)

Accepted options:

Response schema example:
```json
{
  "agencies": [
    {
      "description": "Airiti DOI is a Taiwan-based registration agency operated by Airiti, which is a service provider deeply involved in the scholarly community of the Chinese-speaking area. They manage applications to Chinese and English materials, incorporating the DOI into the digital publishing process, saving time and money for their members and partners. In addition to DOI registration services, Airiti DOI also develops and provides value-added services that support academic publishing, such as DOI Resolution, DOI Data Finder (search DOI names and metadata), DOI resolution data download, and Cited by Link.",
      "name": "Airiti DOI",
      "website": "http://www.airiti.com/en/page_doi.html"
    },
    {
      "description": "BSI Identify is a service operated by BSI to provide unambiguous identification for products and the long-term persistent storage of associated product information that can be accessed using a digital ID called a UPIN (Unique Persistent Identification Number). The service provides a consistent approach to identification of construction products that supports the industry as it continues to digitize and addresses critical safety issues.",
      "name": "BSI Identify",
      "website": "https://identify.bsigroup.com"
    },
    {
      "description": "Chinese DOI is a DOI registration service jointly run by ISTIC & Wanfang Data, and it was the first DOI RA in China and Asia. It mainly provides DOI registration, resolution and other value-added services to Chinese publishers, research institutions, service providers and researchers for research content such as academic journals, scientific data, dissertations, books, conference proceedings, preprints, etc. ISTIC (Institute of Science and Technology Information of China) is a national public beneficial research institute under the Ministry of Science and Technology of China, and Wanfang Data (Wanfang Data Co., Ltd. & Wanfang Data CORP. (INTL) LTD) is the leading science and technology information service provider in China.",
      "name": "Chinese DOI",
      "website": "http://www.chinadoi.cn/"
    },
    {
      "description": "China National Knowledge Infrastructure (CNKI) manages China-based information resources, including Chinese politics, economics, humanities, social science, science, and technology. CNKI publishes databases containing e-journals, newspapers, dissertations, proceedings, yearbooks, references works, and more.",
      "name": "CNKI",
      "website": "https://oversea.cnki.net/index/"
    },
    {
      "description": "Crossref is an open scholarly infrastructure supporting the discovery, assessment, and reuse of all kinds of research objects. With over 24,000 members across 166 countries and ~180 million DOI records representing more than 90% of all DOI usage, Crossref is the DOI registration agency most relied upon by the global research community. Members contribute to the Research Nexus — an open network of relationships connecting research organisations, people, outputs, and actions that can be built on forever, for the benefit of society.",
      "name": "Crossref",
      "website": "https://www.crossref.org/"
    },
    {
      "description": "DataCite is a global non-profit organization that provides DOIs for research data and all other research outputs. By assigning DataCite DOIs, research outputs become discoverable and associated metadata is made available to the community. DataCite develops additional services to make it easy to connect and share research outputs with the broader research ecosystem and to assess the use of outputs within that ecosystem. All organizations within the research community can join DataCite to start registering DOIs.",
      "name": "DataCite",
      "website": "https://datacite.org"
    },
    {
      "description": "The Entertainment Identifier Registry (EIDR) provides identification services for Content Identifers and Video Service Identifers. Content IDs are a registry of movies, television shows, radio programs, podcasts, and other audio/video assets of commercial, cultural, historic, or scientific interest. Video Service IDs are a registry of content delivery services including terrestrial broadcast channels, satellite delivery channels, cable television networks, Internet streaming services, etc. EIDR IDs are commonly used for process automation, linked data, engineering standards, academic citation, universal search, and so forth.",
      "name": "EIDR",
      "website": "https://www.eidr.org"
    },
    {
      "description": "HAND is the Universal Talent Identifier built for the business requirements of Hollywood & sports. By identifying Legal Entity Humans, Licensed Virtual Humans, and Fictional Characters, HAND provides the interoperable Talent ID the industry needs for historical, present, and future uses.",
      "name": "HAND",
      "website": "https://www.handidentity.com/"
    },
    {
      "description": "The Japan Link Center (JaLC) provides public information services to promote science and technology in Japan. Scientific and academic metadata and content from holders nationwide, including national institutes, universities, government organizations, and commercial publishers. Operated by Japan Science and Technology Agency, National Institute of Material Science, National Institute of Informatics, and National Diet Library. Collaboration with Crossref and DataCite for global distribution.",
      "name": "JaLC",
      "website": "https://japanlinkcenter.org/top/english.html"
    },
    {
      "description": "The Korean DOI Center is operated by the Korea Institute of Science and Technology Information (KISTI). They collect bibliographic information of Korean science and technology information and data, including journal articles, proceedings, official Government documents, Korean patent information, R&D Reports and traditional Korean knowledge. In addition, the Korean DOI Center promotes the use of the collected information and data in Korea and improve access to Korean research achievements.",
      "name": "Korean DOI Center",
      "website": "https://www.doi.or.kr/wordpress/#content"
    },
    {
      "description": "The multilingual European DOI Registration Agency (mEDRA) is a persistent citation system for Internet documents. Relation tracking between intellectual property entities. Certification of voluntary deposit including time stamping and digital signatures.",
      "name": "mEDRA",
      "website": "https://www.medra.org"
    },
    {
      "description": "The Publications Office of the European Union (OP) is the official publisher of the institutions, bodies, offices and agencies of the European Union. As such, it is responsible for assigning DOI names to content produced by these clients. Types of content currently covered by this service include official EU publications, online journal articles, datasets and grants.",
      "name": "OP",
      "website": "https://op.europa.eu/en/home"
    }
  ],
  "count": 12,
  "observed_at_ms": 1790282681112,
  "source_url": "https://www.doi.org/the-community/existing-registration-agencies/"
}
```

### Registration agency

- Capability: `identifiers/registration_agency`
- Description: Which registration agency (Crossref, DataCite, mEDRA, JaLC, EIDR, KISTI, ...) registered each DOI, for up to 50 DOIs in one `GET /doiRA/{a},{b},...` request. Unregistered DOIs are reported per row; the call fails with `not_found` only when none of them is registered.
- Instructions: Triage a list of DOIs before fetching metadata: which are real, and which agency's metadata service will answer.
- Cost: 5 credits per call
- Capability file: [Registration agency](https://firecrawl.dev/alexandria/agents/providers/doi-org/identifiers/registration_agency)

Accepted options:
- `dois` (string[], required): 1 to 50 DOIs. Example: `[]`

Response schema example:
```json
{
  "observed_at_ms": 1790282603266,
  "registered_count": 2,
  "requested_count": 3,
  "results": [
    {
      "doi": "10.1038/nature12373",
      "registration_agency": "Crossref",
      "state": "registered",
      "upstream_status": null
    },
    {
      "doi": "10.5438/0012",
      "registration_agency": "DataCite",
      "state": "registered",
      "upstream_status": null
    },
    {
      "doi": "10.9999/does-not-exist-xyz",
      "registration_agency": null,
      "state": "not_registered",
      "upstream_status": "DOI does not exist"
    }
  ],
  "source_url": "https://doi.org/doiRA/10.1038/nature12373,10.5438/0012,10.9999/does-not-exist-xyz"
}
```

### Resolution statistics

- Capability: `identifiers/resolution_statistics`
- Description: DOI system resolution statistics published in handle `10.1000/1000` (`DOI_RESOLUTIONS` value, the home page's source): all-time and last-24-hour resolutions, rates per second, uptime, bot and content-negotiation shares, and resolutions per country in the last complete month.
- Instructions: Size the DOI system or see where resolutions come from.
- Cost: 5 credits per call
- Capability file: [Resolution statistics](https://firecrawl.dev/alexandria/agents/providers/doi-org/identifiers/resolution_statistics)

Accepted options:

Response schema example:
```json
{
  "all_time": 154862803930,
  "as_of": "2026-09-24T00:00:00Z",
  "bot_share": {
    "bot_count": 599149174,
    "bot_percent": 15.25,
    "month": "2026-08",
    "not_bot_count": 3330021755,
    "total": 3929170929
  },
  "by_country_last_month": [
    {
      "country_code": "US",
      "resolutions": 1558854291
    },
    {
      "country_code": "CN",
      "resolutions": 318566426
    },
    {
      "country_code": "IE",
      "resolutions": 202872409
    },
    {
      "country_code": "BR",
      "resolutions": 142294100
    },
    {
      "country_code": "SG",
      "resolutions": 129575420
    },
    {
      "country_code": "FI",
      "resolutions": 107348088
    },
    {
      "country_code": "CA",
      "resolutions": 93007162
    },
    {
      "country_code": "DE",
      "resolutions": 89301695
    },
    {
      "country_code": "GB",
      "resolutions": 80813983
    },
    {
      "country_code": "FR",
      "resolutions": 79630569
    },
    {
      "country_code": "ID",
      "resolutions": 73457869
    },
    {
      "country_code": "HK",
      "resolutions": 72917411
    },
    {
      "country_code": "IN",
      "resolutions": 64713170
    },
    {
      "country_code": "JP",
      "resolutions": 47356728
    },
    {
      "country_code": "CH",
      "resolutions": 44618038
    },
    {
      "country_code": "VN",
      "resolutions": 41033220
    },
    {
      "country_code": "AR",
      "resolutions": 40635673
    },
    {
      "country_code": "MX",
      "resolutions": 36572438
    },
    {
      "country_code": "NL",
      "resolutions": 34647706
    },
    {
      "country_code": "BD",
      "resolutions": 31008857
    },
    {
      "country_code": "PK",
      "resolutions": 28406911
    },
    {
      "country_code": "CO",
      "resolutions": 28009977
    },
    {
      "country_code": "ZA",
      "resolutions": 27904733
    },
    {
      "country_code": "AU",
      "resolutions": 26752648
    },
    {
      "country_code": "ES",
      "resolutions": 24204846
    },
    {
      "country_code": "TR",
      "resolutions": 22416037
    },
    {
      "country_code": "RU",
      "resolutions": 20306972
    },
    {
      "country_code": "KR",
      "resolutions": 19836547
    },
    {
      "country_code": "MY",
      "resolutions": 18888201
    },
    {
      "country_code": "IQ",
      "resolutions": 18071997
    },
    {
      "country_code": "CL",
      "resolutions": 16227522
    },
    {
      "country_code": "VE",
      "resolutions": 15979426
    },
    {
      "country_code": "MA",
      "resolutions": 15516231
    },
    {
      "country_code": "UA",
      "resolutions": 15453642
    },
    {
      "country_code": "PH",
      "resolutions": 15338999
    },
    {
      "country_code": "IT",
      "resolutions": 12774529
    },
    {
      "country_code": "RO",
      "resolutions": 12148820
    },
    {
      "country_code": "EC",
      "resolutions": 12143588
    },
    {
      "country_code": "PL",
      "resolutions": 9777763
    },
    {
      "country_code": "PE",
      "resolutions": 9628830
    },
    {
      "country_code": "TW",
      "resolutions": 9618470
    },
    {
      "country_code": "SA",
      "resolutions": 8990422
    },
    {
      "country_code": "KE",
      "resolutions": 8730290
    },
    {
      "country_code": "AE",
      "resolutions": 8362916
    },
    {
      "country_code": "SE",
      "resolutions": 7711673
    },
    {
      "country_code": "JO",
      "resolutions": 7338897
    },
    {
      "country_code": "TH",
      "resolutions": 7098913
    },
    {
      "country_code": "NG",
      "resolutions": 7002499
    },
    {
      "country_code": "UZ",
      "resolutions": 6807588
    },
    {
      "country_code": "EG",
      "resolutions": 6712784
    },
    {
      "country_code": "IL",
      "resolutions": 6655228
    },
    {
      "country_code": "TN",
      "resolutions": 6653414
    },
    {
      "country_code": "CZ",
      "resolutions": 6568131
    },
    {
      "country_code": "BE",
      "resolutions": 5937609
    },
    {
      "country_code": "KZ",
      "resolutions": 5705983
    },
    {
      "country_code": "DZ",
      "resolutions": 5650305
    },
    {
      "country_code": "PY",
      "resolutions": 5333525
    },
    {
      "country_code": "BO",
      "resolutions": 5082382
    },
    {
      "country_code": "UY",
      "resolutions": 4948176
    },
    {
      "country_code": "PT",
      "resolutions": 4837566
    },
    {
      "country_code": "NP",
      "resolutions": 4657530
    },
    {
      "country_code": "AZ",
      "resolutions": 4643241
    },
    {
      "country_code": "RS",
      "resolutions": 4484932
    },
    {
      "country_code": "ET",
      "resolutions": 4471644
    },
    {
      "country_code": "DO",
      "resolutions": 4435774
    },
    {
      "country_code": "NZ",
      "resolutions": 4034160
    },
    {
      "country_code": "LT",
      "resolutions": 3959104
    },
    {
      "country_code": "DK",
      "resolutions": 3905921
    },
    {
      "country_code": "OM",
      "resolutions": 3747140
    },
    {
      "country_code": "IR",
      "resolutions": 3437009
    },
    {
      "country_code": "AT",
      "resolutions": 3427824
    },
    {
      "country_code": "GR",
      "resolutions": 3194845
    },
    {
      "country_code": "PA",
      "resolutions": 3184247
    },
    {
      "country_code": "SY",
      "resolutions": 3173932
    },
    {
      "country_code": "CR",
      "resolutions": 3082038
    },
    {
      "country_code": "PS",
      "resolutions": 2983624
    },
    {
      "country_code": "NO",
      "resolutions": 2739673
    },
    {
      "country_code": "AL",
      "resolutions": 2732195
    },
    {
      "country_code": "JM",
      "resolutions": 2468473
    },
    {
      "country_code": "SN",
      "resolutions": 2457716
    },
    {
      "country_code": "BY",
      "resolutions": 2387637
    },
    {
      "country_code": "KW",
      "resolutions": 2327179
    },
    {
      "country_code": "BG",
      "resolutions": 2274611
    },
    {
      "country_code": "LB",
      "resolutions": 2267372
    },
    {
      "country_code": "CI",
      "resolutions": 2174278
    },
    {
      "country_code": "HU",
      "resolutions": 2135661
    },
    {
      "country_code": "HN",
      "resolutions": 1766227
    },
    {
      "country_code": "AO",
      "resolutions": 1666154
    },
    {
      "country_code": "HR",
      "resolutions": 1663432
    },
    {
      "country_code": "CG",
      "resolutions": 1517645
    },
    {
      "country_code": "BH",
      "resolutions": 1508793
    },
    {
      "country_code": "QA",
      "resolutions": 1464932
    },
    {
      "country_code": "GE",
      "resolutions": 1459970
    },
    {
      "country_code": "TG",
      "resolutions": 1448746
    },
    {
      "country_code": "EE",
      "resolutions": 1426584
    },
    {
      "country_code": "GT",
      "resolutions": 1395557
    },
    {
      "country_code": "LK",
      "resolutions": 1395093
    },
    {
      "country_code": "KH",
      "resolutions": 1392874
    },
    {
      "country_code": "SK",
      "resolutions": 1294343
    },
    {
      "country_code": "KG",
      "resolutions": 1292277
    },
    {
      "country_code": "BA",
      "resolutions": 1251841
    },
    {
      "country_code": "AM",
      "resolutions": 1193496
    },
    {
      "country_code": "GH",
      "resolutions": 1175309
    },
    {
      "country_code": "NI",
      "resolutions": 1171161
    },
    {
      "country_code": "MD",
      "resolutions": 1169393
    },
    {
      "country_code": "LU",
      "resolutions": 1140243
    },
    {
      "country_code": "SI",
      "resolutions": 1112179
    },
    {
      "country_code": "LV",
      "resolutions": 1092614
    },
    {
      "country_code": "TT",
      "resolutions": 1071384
    },
    {
      "country_code": "SV",
      "resolutions": 997094
    },
    {
      "country_code": "XK",
      "resolutions": 798471
    },
    {
      "country_code": "MT",
      "resolutions": 794857
    },
    {
      "country_code": "MM",
      "resolutions": 786639
    },
    {
      "country_code": "PR",
      "resolutions": 783671
    },
    {
      "country_code": "MN",
      "resolutions": 740375
    },
    {
      "country_code": "GA",
      "resolutions": 687372
    },
    {
      "country_code": "ML",
      "resolutions": 575201
    },
    {
      "country_code": "GY",
      "resolutions": 575171
    },
    {
      "country_code": "BZ",
      "resolutions": 571910
    },
    {
      "country_code": "CY",
      "resolutions": 560352
    },
    {
      "country_code": "BW",
      "resolutions": 559818
    },
    {
      "country_code": "MO",
      "resolutions": 550587
    },
    {
      "country_code": "BF",
      "resolutions": 518420
    },
    {
      "country_code": "MK",
      "resolutions": 517233
    },
    {
      "country_code": "LR",
      "resolutions": 504784
    },
    {
      "country_code": "TZ",
      "resolutions": 500925
    },
    {
      "country_code": "UG",
      "resolutions": 480072
    },
    {
      "country_code": "MU",
      "resolutions": 477865
    },
    {
      "country_code": "LY",
      "resolutions": 442835
    },
    {
      "country_code": "BN",
      "resolutions": 331397
    },
    {
      "country_code": "BB",
      "resolutions": 302329
    },
    {
      "country_code": "ZW",
      "resolutions": 292154
    },
    {
      "country_code": "CM",
      "resolutions": 250001
    },
    {
      "country_code": "IS",
      "resolutions": 237774
    },
    {
      "country_code": "ZM",
      "resolutions": 232692
    },
    {
      "country_code": "LA",
      "resolutions": 219921
    },
    {
      "country_code": "NA",
      "resolutions": 218710
    },
    {
      "country_code": "BJ",
      "resolutions": 215236
    },
    {
      "country_code": "MZ",
      "resolutions": 213220
    },
    {
      "country_code": "CD",
      "resolutions": 201069
    },
    {
      "country_code": "RW",
      "resolutions": 190992
    },
    {
      "country_code": "SR",
      "resolutions": 174420
    },
    {
      "country_code": "BS",
      "resolutions": 163470
    },
    {
      "country_code": "MG",
      "resolutions": 160220
    },
    {
      "country_code": "SO",
      "resolutions": 138625
    },
    {
      "country_code": "YE",
      "resolutions": 137922
    },
    {
      "country_code": "MW",
      "resolutions": 129912
    },
    {
      "country_code": "AF",
      "resolutions": 128090
    },
    {
      "country_code": "TJ",
      "resolutions": 120739
    },
    {
      "country_code": "FJ",
      "resolutions": 113491
    },
    {
      "country_code": "ME",
      "resolutions": 97351
    },
    {
      "country_code": "MV",
      "resolutions": 85082
    },
    {
      "country_code": "HT",
      "resolutions": 82450
    },
    {
      "country_code": "GD",
      "resolutions": 81261
    },
    {
      "country_code": "RE",
      "resolutions": 79916
    },
    {
      "country_code": "CW",
      "resolutions": 70209
    },
    {
      "country_code": "LC",
      "resolutions": 66018
    },
    {
      "country_code": "MR",
      "resolutions": 62828
    },
    {
      "country_code": "SL",
      "resolutions": 62358
    },
    {
      "country_code": "BT",
      "resolutions": 61538
    },
    {
      "country_code": "CU",
      "resolutions": 55460
    },
    {
      "country_code": "SC",
      "resolutions": 52570
    },
    {
      "country_code": "AD",
      "resolutions": 51798
    },
    {
      "country_code": "GN",
      "resolutions": 47176
    },
    {
      "country_code": "BM",
      "resolutions": 46436
    },
    {
      "country_code": "AG",
      "resolutions": 45813
    },
    {
      "country_code": "NE",
      "resolutions": 45332
    },
    {
      "country_code": "CV",
      "resolutions": 45047
    },
    {
      "country_code": "SD",
      "resolutions": 44707
    },
    {
      "country_code": "PG",
      "resolutions": 38236
    },
    {
      "country_code": "LS",
      "resolutions": 38128
    },
    {
      "country_code": "GM",
      "resolutions": 37941
    },
    {
      "country_code": "GP",
      "resolutions": 35550
    },
    {
      "country_code": "IM",
      "resolutions": 35449
    },
    {
      "country_code": "VC",
      "resolutions": 33242
    },
    {
      "country_code": "JE",
      "resolutions": 30905
    },
    {
      "country_code": "TM",
      "resolutions": 30714
    },
    {
      "country_code": "SZ",
      "resolutions": 26490
    },
    {
      "country_code": "KY",
      "resolutions": 24867
    },
    {
      "country_code": "VI",
      "resolutions": 23545
    },
    {
      "country_code": "MQ",
      "resolutions": 22711
    },
    {
      "country_code": "AW",
      "resolutions": 22229
    },
    {
      "country_code": "BI",
      "resolutions": 19883
    },
    {
      "country_code": "TL",
      "resolutions": 19627
    },
    {
      "country_code": "KN",
      "resolutions": 18813
    },
    {
      "country_code": "GG",
      "resolutions": 18763
    },
    {
      "country_code": "TD",
      "resolutions": 17906
    },
    {
      "country_code": "GF",
      "resolutions": 17684
    },
    {
      "country_code": "PF",
      "resolutions": 17641
    },
    {
      "country_code": "ST",
      "resolutions": 16358
    },
    {
      "country_code": "SS",
      "resolutions": 15252
    },
    {
      "country_code": "VG",
      "resolutions": 15094
    },
    {
      "country_code": "SX",
      "resolutions": 14105
    },
    {
      "country_code": "DJ",
      "resolutions": 13114
    },
    {
      "country_code": "GU",
      "resolutions": 11817
    },
    {
      "country_code": "NC",
      "resolutions": 11714
    },
    {
      "country_code": "GI",
      "resolutions": 11041
    },
    {
      "country_code": "DM",
      "resolutions": 10750
    },
    {
      "country_code": "GW",
      "resolutions": 10372
    },
    {
      "country_code": "YT",
      "resolutions": 9522
    },
    {
      "country_code": "GQ",
      "resolutions": 8825
    },
    {
      "country_code": "TC",
      "resolutions": 6952
    },
    {
      "country_code": "LI",
      "resolutions": 6529
    },
    {
      "country_code": "FO",
      "resolutions": 6366
    },
    {
      "country_code": "MC",
      "resolutions": 6130
    },
    {
      "country_code": "GL",
      "resolutions": 6103
    },
    {
      "country_code": "SB",
      "resolutions": 5548
    },
    {
      "country_code": "AI",
      "resolutions": 5426
    },
    {
      "country_code": "BQ",
      "resolutions": 5418
    },
    {
      "country_code": "MF",
      "resolutions": 5125
    },
    {
      "country_code": "KM",
      "resolutions": 4860
    },
    {
      "country_code": "TO",
      "resolutions": 4086
    },
    {
      "country_code": "WS",
      "resolutions": 3606
    },
    {
      "country_code": "CF",
      "resolutions": 3461
    },
    {
      "country_code": "VU",
      "resolutions": 3299
    },
    {
      "country_code": "XX",
      "resolutions": 3185
    },
    {
      "country_code": "SM",
      "resolutions": 3106
    },
    {
      "country_code": "KI",
      "resolutions": 2493
    },
    {
      "country_code": "AX",
      "resolutions": 1956
    },
    {
      "country_code": "CK",
      "resolutions": 1441
    },
    {
      "country_code": "FM",
      "resolutions": 1282
    },
    {
      "country_code": "FK",
      "resolutions": 1220
    },
    {
      "country_code": "MS",
      "resolutions": 1192
    },
    {
      "country_code": "TV",
      "resolutions": 943
    },
    {
      "country_code": "PW",
      "resolutions": 760
    },
    {
      "country_code": "MH",
      "resolutions": 695
    },
    {
      "country_code": "VA",
      "resolutions": 695
    },
    {
      "country_code": "PM",
      "resolutions": 530
    },
    {
      "country_code": "ER",
      "resolutions": 481
    },
    {
      "country_code": "MP",
      "resolutions": 358
    },
    {
      "country_code": "WF",
      "resolutions": 335
    },
    {
      "country_code": "NR",
      "resolutions": 302
    },
    {
      "country_code": "AS",
      "resolutions": 255
    },
    {
      "country_code": "SJ",
      "resolutions": 248
    },
    {
      "country_code": "IO",
      "resolutions": 161
    },
    {
      "country_code": "SH",
      "resolutions": 102
    },
    {
      "country_code": "AQ",
      "resolutions": 96
    },
    {
      "country_code": "NU",
      "resolutions": 80
    },
    {
      "country_code": "BL",
      "resolutions": 65
    },
    {
      "country_code": "TK",
      "resolutions": 56
    },
    {
      "country_code": "GS",
      "resolutions": 23
    },
    {
      "country_code": "NF",
      "resolutions": 11
    },
    {
      "country_code": "BV",
      "resolutions": 8
    },
    {
      "country_code": "UM",
      "resolutions": 7
    },
    {
      "country_code": "KP",
      "resolutions": 5
    },
    {
      "country_code": "PN",
      "resolutions": 4
    },
    {
      "country_code": "CC",
      "resolutions": 1
    }
  ],
  "content_negotiation_share": {
    "conneg_percent": 3.83,
    "month": "2026-08",
    "not_conneg": 3778656822,
    "total": 3929170929
  },
  "country_count": 247,
  "last_24_hours": 122706457,
  "observed_at_ms": 1790282646586,
  "per_second_last_24_hours": 1420,
  "per_second_last_complete_month": 1466,
  "record_timestamp": "2026-09-24T07:48:27Z",
  "source_url": "https://doi.org/api/handles/10.1000/1000?type=DOI_RESOLUTIONS",
  "uptime_percentage": 100
}
```

### Resolve

- Capability: `identifiers/resolve`
- Description: Resolve a DOI through the doi.org Handle proxy (`GET /api/handles/{doi}`): the URL it redirects to, every handle value and the registration agency (`GET /doiRA/{doi}`). Nothing is fetched from the publisher.
- Instructions: You hold a DOI (or a doi.org link) and want its canonical landing URL, its registration agency and the raw handle record.
- Cost: 5 credits per call
- Capability file: [Resolve](https://firecrawl.dev/alexandria/agents/providers/doi-org/identifiers/resolve)

Accepted options:
- `doi` (string): A DOI name such as `10.1038/nature12373`; `doi:` and `https://doi.org/...` forms are accepted. Example: `10.1038/nature12373`
- `url` (string): A pasted `https://doi.org/10.xxxx/...` (or dx.doi.org) link; exactly one of `doi` or `url`. Example: `https://doi.org/10.xxxx/...`

Response schema example:
```json
{
  "doi": "10.5334/dsj-2017-040",
  "doi_url": "https://doi.org/10.5334/dsj-2017-040",
  "handle": "10.5334/dsj-2017-040",
  "observed_at_ms": 1790282594130,
  "registration_agency": "Crossref",
  "source_url": "https://doi.org/api/handles/10.5334/dsj-2017-040",
  "url": "http://datascience.codata.org/articles/10.5334/dsj-2017-040/",
  "value_count": 3,
  "values": [
    {
      "format": "string",
      "index": 1,
      "timestamp": "2017-08-18T13:49:50Z",
      "ttl": 86400,
      "type": "URL",
      "value": "http://datascience.codata.org/articles/10.5334/dsj-2017-040/"
    },
    {
      "format": "admin",
      "index": 100,
      "timestamp": "2017-08-18T13:49:50Z",
      "ttl": 86400,
      "type": "HS_ADMIN",
      "value": {
        "handle": "0.na/10.5334",
        "index": 200,
        "permissions": "111111110010"
      }
    },
    {
      "format": "string",
      "index": 700050,
      "timestamp": "2017-08-18T13:49:50Z",
      "ttl": 86400,
      "type": "700050",
      "value": "20170818094938"
    }
  ]
}
```
