Custom Connector
Crossref Connector
Global
The Crossref Connector enables seamless integration with scholarly metadata services, providing structured access to works, journals, members, funders, prefixes, types, and licenses. It supports searching, filtering, and retrieval of metadata records in JSON — for discovery, enrichment, and integration into research, publishing, and analytics workflows.
Overview
Integration Overview
This document provides a detailed guide for each integration point, its purpose, configuration, and workflow support using the Crossref Connector.
- listFunders / getFunderById. List funders in the Crossref registry, or retrieve one by ID/DOI.
- listJournals / getJournalByIssn. List journals, or retrieve one by ISSN.
- listWorks / getWorkByDoi. List works (articles, books, proceedings), or retrieve one by DOI.
- getPrefixById. Retrieve metadata for a DOI prefix and registration details.
- listMembers / getMemberById / getMemberWorks. List members, retrieve one by ID, or fetch a member’s deposited works.
- listTypes / getTypeById. List available work types, or retrieve one by ID.
- listLicenses. List licenses and associated work counts.
Documentation
Detailed Integration Documentation
Funders (list / by ID)
| Action | listFunders / getFunderById |
|---|---|
| Purpose | Retrieves a list of funders in the Crossref funder registry (search, filter, pagination), or metadata for a specific funder by Crossref ID or DOI. |
| Configuration | Configure the base URL via CONNECTOR_ENV_CROSSREF_BASE_URL. |
| Parameters | listFunders optional: query; filter (e.g. location); offset; rows; mailto — email for polite-pool access. getFunderById required: id (funder ID or DOI); optional mailto. |
| Output | Successful: an array of funder records (ID, name, location, alt-names, tokens), or a single funder’s metadata. Failure: error details. |
| Workflow example | Execute listFunders with filter=location:Switzerland, then getFunderById with id=501100000038 for details. |
Journals (list / by ISSN)
| Action | listJournals / getJournalByIssn |
|---|---|
| Purpose | Retrieves a list of journals registered with Crossref (search/filter), or metadata for a specific journal by ISSN. |
| Configuration | Configure the base URL via CONNECTOR_ENV_CROSSREF_BASE_URL. |
| Parameters | listJournals optional: query; filter; offset; rows; mailto — email for polite-pool access. getJournalByIssn required: issn; optional mailto. |
| Output | Successful: an array of journal objects (title, publisher, ISSN, subjects, coverage), or a single journal record. Failure: error details. |
| Workflow example | Execute listJournals with filter=publisher:Elsevier, or getJournalByIssn with issn=1234-5678 for a journal profile. |
Works (list / by DOI)
| Action | listWorks / getWorkByDoi |
|---|---|
| Purpose | Retrieves a list of works (articles, books, conference papers) with queries, filters, sorting, and facets, or detailed metadata for a specific work by DOI. |
| Configuration | Configure the base URL via CONNECTOR_ENV_CROSSREF_BASE_URL. |
| Parameters | listWorks optional: query; filter; offset; rows; sort; order; facet; cursor; sample; mailto. getWorkByDoi required: doi; optional mailto. |
| Output | Successful: a JSON array of works (DOI, title, authors, publication details, references), or a detailed work record. Failure: error details. |
| Workflow example | Execute listWorks with query=machine learning and filter=from-pub-date:2023-01-01, then getWorkByDoi for a full record. |
Prefix by ID
| Action | getPrefixById |
|---|---|
| Purpose | Retrieves metadata for a DOI prefix and its associated member. |
| Configuration | Configure the base URL via CONNECTOR_ENV_CROSSREF_BASE_URL. |
| Parameters | Required: prefix (e.g. 10.1016). Optional: mailto. |
| Output | Successful: metadata including prefix value, associated member, and name. Failure: error details. |
| Workflow example | Execute getPrefixById with prefix=10.1016 to map publisher identifiers in metadata workflows. |
Members (list / by ID / works)
| Action | listMembers / getMemberById / getMemberWorks |
|---|---|
| Purpose | Retrieves a list of Crossref members (publishers, organizations), metadata for a specific member, or works deposited by a member. |
| Configuration | Configure the base URL via CONNECTOR_ENV_CROSSREF_BASE_URL. |
| Parameters | listMembers optional: query; filter (e.g. location); offset; rows; mailto. getMemberById required: id (integer). getMemberWorks required: id; optional query, filter, offset, rows, sort, order, facet, cursor, sample, mailto. |
| Output | Successful: member records (ID, name, prefixes, counts, coverage) or a member’s works. Failure: error details. |
| Workflow example | Execute listMembers with filter=location:United States, then getMemberWorks with id=78 and filter=from-pub-date:2020-01-01. |
Types (list / by ID) & Licenses
| Action | listTypes / getTypeById / listLicenses |
|---|---|
| Purpose | Retrieves available work types (e.g. journal-article, book), metadata for a specific type, and a list of licenses with associated work counts. |
| Configuration | Configure the base URL via CONNECTOR_ENV_CROSSREF_BASE_URL. |
| Parameters | listTypes / listLicenses optional: query; offset; rows; mailto. getTypeById required: id (e.g. journal-article); optional mailto. |
| Output | Successful: an array of work types (ID, label), a single type’s metadata, or licenses (license URL, work-count). Failure: error details. |
| Workflow example | Execute listTypes to map Crossref types to internal schemes, and listLicenses to integrate rights metadata. |
Example Workflow: Scholarly Metadata Pipeline
| Discover publishers & journals | Use listMembers (with filters), getMemberById, listJournals, and getJournalByIssn to identify sources. |
|---|---|
| Harvest works | Use getMemberWorks (with date ranges) or listWorks (with cursor pagination); store DOIs for processing. |
| Enrich & normalize | Use getWorkByDoi for full records, listTypes/getTypeById for normalization, and listLicenses for rights. |
| Resolve & deliver | Extract DOI prefixes via getPrefixById, deduplicate by DOI, and deliver enriched records to repositories or analytics. |
Support
For technical support, contact custom-connectors-support@isolutions.sa.