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.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add aipoch/medical-research-skills --skill openalex-db --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Openalex Db?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aipoch-openalex-db)More formats (shields.io, HTML) on the badges page.
---
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
---
> **Source**: [https://github.com/aipoch/medical-research-skills](https://github.com/aipoch/medical-research-skills)
## When to Use
- You need to search scholarly **works** by keyword and filter by properties (e.g., open access, year, venue).
- You want to look up **authors** and analyze their publication output and citation impact.
- You need to retrieve and compare **institutions** (e.g., affiliation-based exploration or benchmarking).
- You want to explore **concepts/topics** and track trends across time.
- You need lightweight **bibliometric workflows** (citation tracking, publication trends) without managing API keys.
## Key Features
- Query OpenAlex entities: **works, authors, institutions, concepts**.
- Keyword search with **filtering** support.
- 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
```python
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`.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!