What you get#
Onekey exposes OpenAlex as 15 endpoints behind one API key: 7 endpoints return one record (data is an object) and 8 endpoints return a list (data is an array). Every answer uses the same envelope (success, data, metadata, error), the cost is reported in metadata.credits_charged, and fields are mapped onto the unified schema so the code you write for OpenAlex also works for the rest of the science & research category.
Endpoints#
| Endpoint | What it does | Parameters | Credits | Status |
|---|---|---|---|---|
author | OpenAlex author record by OpenAlex id. | id* | 1 | stable |
authors | Search OpenAlex authors. | q* | 5 | stable |
concept | OpenAlex concept record by OpenAlex id. | id* | 1 | stable |
concepts | Search OpenAlex concepts. | q* | 5 | stable |
funder | OpenAlex funder record by OpenAlex id. | id* | 1 | stable |
funders | Search OpenAlex funders. | q* | 5 | stable |
institution | OpenAlex institution record by OpenAlex id. | id* | 1 | stable |
institutions | Search OpenAlex institutions. | q* | 5 | stable |
publishers | Search OpenAlex publishers. | q* | 5 | stable |
source | OpenAlex source record by OpenAlex id. | id* | 1 | stable |
sources | Search OpenAlex sources. | q* | 5 | stable |
topic | OpenAlex topic record by OpenAlex id. | id* | 1 | stable |
topics | Search OpenAlex topics. | q* | 5 | stable |
work | OpenAlex work by OpenAlex id. | id* | 1 | stable |
works_search | Search OpenAlex scholarly works. | q* | 5 | stable |
A * marks a required parameter. Each endpoint name links to its reference page with the full parameter table, caching window and a recorded response.
Make a request#
This calls openalex.author (1 credit, stable). Replace YOUR_API_KEY with your key; sign up, no card. 1,000 free credits cover the open-platform endpoints. Hard-to-reach platforms (X, TikTok, Instagram, Reddit, and others marked on their page) need a verified email and a purchased pack.
curl "https://api.onekey.dev/v1/openalex/author?id=A5023888391" \
-H "x-api-key: YOUR_API_KEY"Fields you get back#
These unified fields come back from OpenAlex, with the same names as on every other platform. The count is how many of its 15 mapped endpoints return the field; a field the source lacks is null, never missing. 4 platform-specific fields (ext.<name>) come on top, documented on each endpoint page.
| Field | Type | Endpoints |
|---|---|---|
engagement.citations | integer | 13 |
entity.id | string | 11 |
entity.name | string | 11 |
entity.url | URL | 11 |
entity.country | string | 4 |
entity.description | string | 4 |
author.displayName | string | 2 |
author.id | string | 2 |
content.id | string | 2 |
content.title | string | 2 |
content.type | string | 2 |
content.year | integer | 2 |
entity.type | string | 2 |
paper.doi | string | 2 |
paper.issn | string | 2 |
paper.openAccess | boolean | 1 |
paper.openAccessUrl | URL | 1 |
The full schema is in Unified schema.
Pricing#
OpenAlex calls cost 1 to 5 credits, flat per endpoint. Free when served from cache (0.2 credit for a cached response over 100 KB). Invalid, failed or not-found calls are not charged. See pricing for credit packs.