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

# Mendeley API

Jentic publishes the only available OpenAPI specification for Mendeley API, keeping it validated and agent-ready. Mendeley is Elsevier's reference management platform used by researchers to organise papers, annotate PDFs, and collaborate via groups. The API exposes 27 endpoints covering documents, annotations, files, folders, the Mendeley catalog, academic disciplines, and metadata-based catalog search. It is suited to building citation managers, ingesting PDFs into research workflows, and synchronising library state between Mendeley and other research tools.

## For AI agents

Manage a Mendeley research library: list and create documents, upload and download PDF files, organise documents into folders, manage annotations, and search the Mendeley catalog by metadata.

## Scope

Does not handle full-text article licensing, peer review workflows, or journal submission - use for personal reference library and annotation management only.

## Capabilities

- List and create documents in a researcher's Mendeley library with full bibliographic metadata
- Update document fields and move documents to trash without permanently deleting them
- Upload PDF files and download or delete files attached to library documents
- Create, update, and delete annotations (highlights, sticky notes, and comments) on PDFs
- Organise documents into folders and add or remove documents from a folder
- Search the Mendeley catalog by free text and look up catalog entries by identifier or metadata
- List academic statuses and disciplines used to categorise researchers and documents

## Use cases

### Citation Manager Sync

Build a sync layer between Mendeley and another reference manager or note-taking app by listing documents via /documents, fetching files via /files, and exposing annotations via /annotations. Researchers maintain Mendeley as the canonical library while reading and annotating in their tool of choice. Most teams ship a one-way sync in 3 to 5 days.

Example prompt: List all documents from /documents with a since filter for the last sync timestamp, fetch each file via `/files/{id}`, and copy any new annotations from /annotations into the secondary tool.

### PDF Ingestion Pipeline

Drop a PDF into a watch folder and have an agent create a Mendeley document via POST /documents, then upload the file via POST /files. The agent extracts bibliographic metadata first by searching the catalog with `/search/catalog` or /metadata to deduplicate against existing entries. Typical setup is a day for the metadata-match flow.

Example prompt: Call /metadata with the PDF's extracted title and DOI, create a document via POST /documents using the matched catalog entry, then POST the file to /files with documentId set.

### Annotation Export for Note Apps

Pull all highlights and sticky notes from a Mendeley library via /annotations and write them to a note-taking app such as Obsidian or Notion. Researchers use this to keep their reading notes searchable outside Mendeley. Typical effort is 2 to 3 days including incremental sync.

Example prompt: List annotations via GET /annotations, group them by document_id, and append each annotation as a markdown bullet under the matching paper's note in Obsidian.

### AI Research Assistant

An AI agent assigned to a researcher can search the Mendeley catalog, add candidate papers to the user's library, and pull annotation history to summarise reading progress. Through Jentic, the agent calls Mendeley with OAuth-scoped credentials isolated from its prompt context. Setup is under an hour.

Example prompt: Use Jentic to search for 'search the Mendeley catalog', execute `/search/catalog` with the user's query, then add the top 3 results to the user's library via POST /documents.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/documents` | List documents in user library |
| POST | `/documents` | Create a new document |
| POST | `/files` | Upload a PDF file |
| GET | `/annotations` | List annotations |
| POST | `/annotations` | Create an annotation |
| GET | `/search/catalog` | Search the Mendeley catalog |
| GET | `/metadata` | Find best matching catalog entry by metadata |
| POST | `/folders/{id}/documents` | Add a document to a folder |

## Key resources

- **Documents** — Create, list, update, and trash personal library documents
- **Annotations** — Create, update, and delete highlights and notes on PDFs
- **Files** — Upload, download, and delete PDF files attached to documents
- **Folders** — Create folders and add or remove documents from folders
- **Catalog** — Search the Mendeley catalog and look up entries by identifier
- **Metadata** — Match a candidate paper to its best Mendeley catalog entry by metadata
- **Academic Statuses and Disciplines** — List the controlled vocabulary used for researcher and document categorisation

## Why Jentic

- **Setup:** Wiring the Mendeley API by hand means running its OAuth2 flow and coding your own calls to the documents, files, and annotations endpoints. Through Jentic you install once, import the Mendeley API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Mendeley puts the folder id in the URL path (`/folders/{id}/documents`), while document and annotation targets travel in the request body, so limit the agent to the operations it needs, such as reading documents and searching the catalog, and leave adding documents to a folder out of the allowed set. Every operation you grant is your explicit choice.
- **Credential handling:** Your Mendeley token 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 my reference library' or 'add an annotation to a document', and Jentic returns the matching Mendeley operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Crossref API** — Authoritative DOI metadata for academic publications
- **OpenAlex API** — Open scholarly graph of works, authors, venues, and concepts
- **Elsevier API** — Elsevier's broader content APIs including Scopus and ScienceDirect

## FAQ

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

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

Mendeley uses OAuth 2.0. Register an application in the Mendeley developer portal to obtain a client ID and secret, then run the OAuth flow to obtain an access token. Through Jentic, the OAuth tokens are stored encrypted in your Jentic One instance - agents receive only a scoped session at execution time.

### Can I upload PDFs to Mendeley with the Mendeley API?

Yes. POST /files with the PDF as the request body and the documentId attached as a Link header. The file becomes the primary attachment for that library document and is available for download via GET `/files/{id}.`

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

Mendeley does not publish per-second rate limits in the developer documentation; quotas are enforced at the application level by Elsevier. If you hit a 429, back off and contact Mendeley developer support to confirm the limit on your client ID.

### How do I search the Mendeley catalog through Jentic?

Run pip install jentic, then search for 'search the Mendeley catalog'. Jentic returns the GET `/search/catalog` operation schema. Execute it with the query string and Mendeley returns matching catalog entries that you can then add to a user library via POST /documents.

### Does the Mendeley API expose annotations made in the desktop and web apps?

Yes. GET /annotations returns highlights, sticky notes, and comments created across the Mendeley desktop and web clients. The annotations are linked to the underlying document_id so they can be aligned back to the paper PDF.

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

Yes. Because Jentic One is self-hosted, you decide which Mendeley operations the agent may call, and it never touches anything you leave out of that allowed set. You might grant read-only access such as listing documents via GET /documents and searching the catalog via GET `/search/catalog`, while excluding writes like POST `/folders/{id}/documents` that add a document to a folder or POST /files that uploads a PDF. Every operation the agent can reach is your explicit choice, enforced by the rules in your own instance.
