Access the OpenAlex database (240M+ scholarly works) for bibliometric analysis, literature search, and citation tracking; use when you need to query works/authors/institutions/concepts without an API key.
name: openalex-db
description: Access the OpenAlex database (240M+ scholarly works) for bibliometric analysis, literature search, and citation tracking; use when you need to query works/authors/institutions/concepts without an API key.
license: MIT
author: aipoch
Designed for bibliometric tasks such as citation tracking and trend exploration.
No API key required; supports providing an email for OpenAlex Polite Pool (higher rate limits).
Simple Python client wrapper via scripts/openalex_client.py.
Dependencies
requests (version not pinned; install via uv pip install requests)
Example Usage
from scripts.openalex_client import OpenAlexClient
def main():
# Provide an email to use OpenAlex "Polite Pool" (recommended for better rate limits)
client = OpenAlexClient(email="user@example.com")
# Search for open-access works related to CRISPR
works = client.search_works(
search="CRISPR",
filter_params={"is_oa": "true"},
)
print(f"Found {len(works)} works")
if works:
first = works[0]
# Field names depend on OpenAlex response schema
print("First result:")
print(f" id: {first.get('id')}")
print(f" title: {first.get('title')}")
print(f" publication_year: {first.get('publication_year')}")
print(f" cited_by_count: {first.get('cited_by_count')}")
if __name__ == "__main__":
main()
Implementation Details
Client entry point:scripts/openalex_client.py provides the main API wrapper (OpenAlexClient).
Polite Pool: Supplying an email is recommended to receive higher rate limits from OpenAlex.
Search + filters: Work queries accept a free-text search string plus filter_params (key/value pairs) that map to OpenAlex API filters (e.g., {"is_oa": "true"}).
Pagination and schema: For supported filters, pagination behavior, and response fields, refer to references/api_guide.md.