OpenAIRE Graph API
OpenAIRE Graph API
The OpenAIRE Graph API queries the OpenAIRE Graph, which aggregates metadata from a wide range of scholarly resources into linked records for research products (such as publications), data sources, organizations, projects and persons. Parameter-based and filter-based query styles return JSON with paging, and the filter-based style adds faceted counts and field selection. Unauthenticated requests are allowed.
Required Attribution:
Acknowledge OpenAIRE as the data source.
Coverage
Metadata aggregated from "a wide range of scholarly resources"; the full OpenAIRE Graph can also be downloaded in bulk. Offset paging stops at 10,000 results per query, so use cursor paging or the bulk dump for more. Publication delay: Not stated.
Verdict
Use it to link research products to the projects, organizations and funders behind them and to check access rights across sources. OpenAIRE says records may be reused by commercial and non-commercial users under CC BY as long as OpenAIRE is acknowledged as a data source. Unauthenticated requests are limited to 60 an hour, so register for a personal access token (used for up to one hour at a time, up to 7,200 requests an hour) for anything beyond a few queries.
Get the free weekly email
Free weekly email of newly verified free data. Unsubscribe by emailing us.
By entering your email and clicking Subscribe, you agree to receive the Signal Lab weekly email from Quantum Data Technologies Ltd., 3200-650 West Georgia Street, Vancouver, BC V6B 4P7, Canada (signal-lab@qdt.ai). You can unsubscribe at any time: reply "unsubscribe" to any email or write to signal-lab@qdt.ai. See our Privacy Policy.
Use in your agent
Load OpenAIRE research products for a search into pandas and Parquet. Checked against the provider's documentation on Nov 3, 2026.
Access
- No key for up to 60 requests an hour; register for a personal access token (valid for one hour at a time) for up to 7,200 an hour.
- Base URL https://api.openaire.eu/graph/; research products are at v1/researchProducts with search, type, date and paging parameters.
Request
curl 'https://api.openaire.eu/graph/v1/researchProducts?search=sovereign%20debt&type=publication&fromPublicationDate=2025-01-01&pageSize=100&page=1'Format
JSON with header (numFound, page, pageSize, nextCursor) and results; each research product has id, mainTitle, publicationDate, type, bestAccessRight, pids (scheme and value, such as doi), authors and descriptions.
Load into pandas and Parquet
Needs Python 3 with requests, pandas and pyarrow.
"""OpenAIRE Graph research products -> pandas -> Parquet. Unauthenticated: up to 60 requests an hour."""
import requests
import pandas as pd
params = {"search": "sovereign debt", "type": "publication", "pageSize": 100, "page": 1,
"fromPublicationDate": "2025-01-01"}
r = requests.get("https://api.openaire.eu/graph/v1/researchProducts", params=params, timeout=90)
r.raise_for_status()
js = r.json()
rows = [{
"openaire_id": p.get("id"),
"title": p.get("mainTitle"),
"publication_date": p.get("publicationDate"),
"type": p.get("type"),
"best_access_right": (p.get("bestAccessRight") or {}).get("label"),
"doi": next((pid.get("value") for pid in (p.get("pids") or []) if pid.get("scheme") == "doi"), None),
} for p in js["results"]]
df = pd.DataFrame(rows)
df.to_parquet("openaire_products.parquet", index=False)
print(len(df), "research products on this page of", js["header"]["numFound"], "matches")Run by us on 2026-11-03 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 100 research products on this page of 1556 matches
Limits
- 60 requests per hour without a token; up to 7,200 per hour with one.
- Offset paging stops at 10,000 results per query; use cursor paging or the bulk graph download for more.
Quirks
- Records are deduplicated across sources, so ids can look like doi_dedup___::... rather than a DOI.
- bestAccessRight can be missing; treat it as unknown, not closed.
Terms and attribution
- Records may be reused commercially and non-commercially under CC BY, with OpenAIRE acknowledged as the data source.
Sources
- https://graph.openaire.eu/docs/apis/terms: “The rate limit for the former type of requests is up to 7200 requests per hour, while the latter is up to 60 requests per hour.”
- https://graph.openaire.eu/docs/apis/terms: “OpenAIRE Graph license is CC-BY: the records returned by the service can be freely re-used by commercial and non-commercial partners under CC-BY license, hence as long as OpenAIRE is acknowledged as a data source.”
- https://graph.openaire.eu/docs/apis/graph-api/: “limits offset-based paging to 10,000 results per query.”
Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer