SwarmIncToolsAPIsFree LLM APIsSupport

REST API · JSON · through RapidAPI

Scholarly Paper Search (OpenAlex): DOI, year, venue, citations, open-access link API

Search the OpenAlex index of scholarly works by keyword, year range and open-access status, and get each paper's title, DOI, year, venue, type, citation count and open-access link.

Read from the official source when you call (api.openalex.org); no personal data. GET /v1/scholarly-search answers {"product", "count", "items", "fetched_at"}.

Source: OpenAlex, under CC0. Every answer carries this attribution in its sources field.

Get a key on RapidAPI  plans and pricing are on the listing; one key covers every endpoint.

Parameters

ParameterTypeWhat it doesExample
querystringKeywords to search for in titles, abstracts and full text."graph neural networks"
year_fromintegerFirst publication year to include.2020
year_tointegerLast publication year to include.2026
oa_statusstringKeep only works with this open-access status (empty: all works). One of: , gold, green, hybrid, bronze, diamond, closed."green"
limitintegerAt most this many results (1–1000, default 100).20

What each result holds

FieldType
openalex_idurl
titletext
doitext
yearinteger
publication_datedate
venuetext
typetext
cited_by_countinteger
is_open_accessbool
oa_statustext
open_access_urlurl
languagetext

Call it

With curl:

curl -G "https://scholarly-paper-search-api-openalex-doi-citations.p.rapidapi.com/v1/scholarly-search" \
  --data-urlencode 'query=graph neural networks' \
  --data-urlencode year_from=2020 \
  --data-urlencode year_to=2026 \
  --data-urlencode oa_status=green \
  --data-urlencode limit=20 \
  -H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: scholarly-paper-search-api-openalex-doi-citations.p.rapidapi.com"

With Python (pip install requests):

import os, requests

r = requests.get(
    "https://scholarly-paper-search-api-openalex-doi-citations.p.rapidapi.com/v1/scholarly-search",
    params={'query': 'graph neural networks',
 'year_from': 2020,
 'year_to': 2026,
 'oa_status': 'green',
 'limit': 20},
    headers={"X-RapidAPI-Key": os.environ["RAPIDAPI_KEY"], "X-RapidAPI-Host": "scholarly-paper-search-api-openalex-doi-citations.p.rapidapi.com"},
    timeout=120,
)
for item in r.json()["items"]:
    print(item)

For code and AI agents that pick tools at run time, GET /v1/products lists every endpoint with its parameters and fields.

Questions

How fresh is it? Each call reads the official source then; an identical query within 15 minutes is answered from a cache.

What if the source is down? The answer says so: a 502, or "partial": true when only some of its requests failed.