canonical: https://jentic.com/apis/api.elsevier.com/elsevier

# Elsevier API

Jentic publishes the only available OpenAPI specification for Elsevier API, keeping it validated and agent-ready. The Elsevier Developer API gives programmatic access to Scopus and ScienceDirect - the world's largest abstract-and-citation database and Elsevier's full-text platform - together with abstract retrieval by Scopus ID, DOI, EID, PII, or PubMed ID. Researchers, bibliometric tools, and AI literature copilots use it to search the scholarly record and pull article metadata at scale. Authentication is an X-ELS-APIKey header, optionally combined with an X-ELS-Insttoken header for institutional access.

## For AI agents

Search Scopus and ScienceDirect and retrieve scholarly abstracts by DOI, Scopus ID, EID, PII, or PubMed ID for literature review and citation analysis.

## Scope

Does not handle full-text downloading of paywalled PDFs, manuscript submission, or peer-review workflows - use for searching Scopus and ScienceDirect and retrieving abstracts only.

## Capabilities

- Search the Scopus database with field-specific queries (TITLE-ABS-KEY, AUTHOR, AFFIL) and pagination
- Search ScienceDirect for full-text articles via the legacy GET or v2 PUT endpoint
- Retrieve a Scopus abstract by Scopus ID for citation metadata and references
- Retrieve a Scopus abstract by DOI when only the DOI is known
- Retrieve a Scopus abstract by EID, PII, or PubMed ID to bridge identifier systems
- Combine API key with institutional token (X-ELS-Insttoken) to unlock subscribed full-text content

## Use cases

### Literature review automation

Research teams running systematic literature reviews can call GET `/content/search/scopus` with TITLE-ABS-KEY queries to enumerate relevant papers, then iterate the result list and call GET `/content/abstract/scopus_id/{scopus_id}` for each to retrieve abstracts and citation references. The two-step pattern produces a structured corpus suitable for screening, coding, and meta-analysis without manual database scraping.

Example prompt: Call GET `/content/search/scopus` with a TITLE-ABS-KEY query, then iterate the entries and call GET `/content/abstract/scopus_id/{scopus_id}` for each to compile a corpus

### Bibliometrics and citation analysis

Bibliometric tools and research-evaluation platforms can use the Scopus search and abstract endpoints to compute h-indexes, citation networks, and topic co-occurrence at scale. The abstract response includes full citation references, supporting forward and backward citation traversal. Combined with author and affiliation filters this enables institution-level reporting.

Example prompt: Search Scopus by AU-ID for an author, then call GET `/content/abstract/scopus_id/{scopus_id}` for each paper to extract citation references and build a network graph

### DOI-driven metadata enrichment

Reference managers, plagiarism checkers, and reading-list tools can call GET `/content/abstract/doi/{doi}` to enrich a user-supplied DOI with full Elsevier metadata - title, authors, affiliations, abstract, and references. This avoids the common problem of patchy metadata in public DOI resolvers, especially for older papers.

Example prompt: Given a list of DOIs, call GET `/content/abstract/doi/{doi}` for each and store the returned abstract, authors, and references in a reference manager

### AI literature copilot via Jentic

An AI literature copilot can search Jentic for the Scopus search operation, execute it with a researcher's natural-language query, and pipe abstracts into a summarisation chain. Jentic stores the X-ELS-APIKey credential in the vault, so the agent runs against subscribed content without ever holding the raw key.

Example prompt: Search Jentic for 'search scopus for papers', execute GET `/content/search/scopus`, then iterate top entries calling GET `/content/abstract/scopus_id/{scopus_id}` and feed abstracts into a summary chain

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/content/search/scopus` | Search the Scopus database |
| PUT | `/content/search/sciencedirect` | Search ScienceDirect (v2 PUT) |
| GET | `/content/abstract/doi/{doi}` | Retrieve abstract by DOI |
| GET | `/content/abstract/scopus_id/{scopus_id}` | Retrieve abstract by Scopus ID |
| GET | `/content/abstract/eid/{eid}` | Retrieve abstract by EID |
| GET | `/content/abstract/pii/{pii}` | Retrieve abstract by PII |
| GET | `/content/abstract/pubmed_id/{pubmed_id}` | Retrieve abstract by PubMed ID |

## Key resources

- **Scopus search** — Search the Scopus database of peer-reviewed literature
- **ScienceDirect search** — Search Elsevier's full-text platform via legacy GET or v2 PUT
- **Scopus abstract** — Retrieve abstracts by Scopus ID, DOI, EID, PII, or PubMed ID

## Why Jentic

- **Setup:** Wiring Elsevier by hand means setting up its API key auth and coding your own calls across the Scopus search, ScienceDirect search, and abstract retrieval endpoints. Through Jentic you install once, import the Elsevier API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Elsevier puts the document identifier in the URL path (`/content/abstract/doi/{doi}`, `/content/abstract/scopus_id/{scopus_id}`), and these are read-only lookups, so a rule can pin your agent to abstract retrieval and search only. You choose the operations it may call, so any beyond those you name are not included.
- **Credential handling:** Your Elsevier API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'search Scopus for a topic' or 'retrieve an abstract by DOI', and Jentic returns the matching Elsevier operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Crossref** — Crossref is an open DOI metadata API; Elsevier provides deeper Scopus abstracts and ScienceDirect full text
- **OpenAlex** — OpenAlex is an open scholarly graph; Elsevier offers proprietary Scopus indexing and richer affiliation metadata
- **Mendeley** — Mendeley manages personal libraries; Elsevier provides the upstream search and abstract retrieval that fills those libraries
- **Crossref** — Use Crossref to resolve a DOI when no API key is available, then enrich via Elsevier when needed

## FAQ

### Why is there no official OpenAPI spec for Elsevier API?

Elsevier does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Elsevier 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 Elsevier API use?

An API key passed in the `X-ELS-APIKey` header. Institutional users add `X-ELS-Insttoken` to unlock subscribed full-text content from ScienceDirect. Through Jentic, both headers are stored encrypted in your Jentic One instance and injected at execution time so the agent never sees the raw key or institutional token.

### Can I retrieve a Scopus abstract by DOI through Jentic?

Yes. Install with `pip install jentic`, search Jentic for `retrieve a scopus abstract by doi`, load the schema for GET `/content/abstract/doi/{doi}`, populate the DOI, and execute. The response includes title, authors, abstract text, and citation references.

### What is the difference between the legacy GET and v2 PUT ScienceDirect search endpoints?

GET `/content/search/sciencedirect` is the legacy keyword search retained for backwards compatibility. PUT `/content/search/sciencedirect` is the v2 endpoint that accepts a richer JSON query body - required for boolean operators, advanced filters, and faceted searches.

### What are the rate limits for the Elsevier API?

Elsevier enforces per-key weekly quotas that vary by API product (Scopus Search, Abstract Retrieval, ScienceDirect Search) and by your subscription tier. Typical quotas are in the tens of thousands of calls per week. Check the Elsevier Developer Portal for the limit on your key. Responses include `X-RateLimit-Remaining` headers so agents can back off before hitting 429.

### Can I retrieve an abstract by PubMed ID?

Yes. GET `/content/abstract/pubmed_id/{pubmed_id}` resolves a PubMed identifier to the matching Scopus abstract record, which is useful when integrating with biomedical pipelines that key on PubMed IDs but need Scopus citation data.

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

Yes. Because you run Jentic One yourself, you decide which Elsevier operations your agent may call, and any operation you do not name is unavailable to it. Every Elsevier endpoint here is a read-only lookup that puts the document identifier in the URL path, such as GET `/content/abstract/doi/{doi}` and GET `/content/abstract/scopus_id/{scopus_id}`, so you can pin the agent to Scopus and ScienceDirect search and abstract retrieval only. You also control which stored credential the agent uses, keeping it scoped to the searches and lookups you allow.
