openalex-database
Query and analyze scholarly literature using the OpenAlex database. This skill should be used when searching for academic papers, analyzing research trends, finding works by authors or institutions, tracking citations, discovering open access publications, or conducting bibliometric analysis across
By davila7 · 425 installs
npx skills add davila7/claude-code-templates --skill openalex-database
Source repository · Upstream listing
OpenAlex Database
Overview
OpenAlex is a comprehensive open catalog of 240M+ scholarly works, authors, institutions, topics, sources, publishers, and funders. This skill provides tools and workflows for querying the OpenAlex API to search literature, analyze research output, track citations, and conduct bibliometric studies.
Quick Start
Basic Setup
Always initialize the client with an email address to access the polite pool (10x rate limit boost):
Installation Requirements
Install required package using uv:
No API key required OpenAlex is completely open.
Core Capabilities
1. Search for Papers
Use for : Finding papers by title, abstract, or topic
2. Find Works by Author
Use for : Getting all publications by a specific researcher
Use the two step pattern (entity name → ID → works):
Manual two step approach :
3. Find Works from Institution
Use for : Analyzing research output from universities or organizations
4. Highly Cited Papers
Use for : Finding influential papers in a field
5. Open Access Papers
Use for : Finding freely available research
6. Publication Trends Analysis
Use for : Tracking research output over time
7. Research Output Analysis
Use for : Comprehensive analysis of author or institution research
8. Batch Lookups
Use for : Getting information for multiple DOIs, ORCIDs, or IDs efficiently
9. Random Sampling
Use for : Getting representative samples for analysis
10. Citation Analysis
Use for : Finding papers that cite a specific work
11. Topic and Subject Analysis
Use for : Understanding research focus areas
12. Large Scale Data Extraction
Use for : Downloading large datasets for analysis
Critical Best Practices
Always Use Email for Polite Pool
Add email to get 10x rate limit (1 req/sec → 10 req/sec):
Use Two Step Pattern for Entity Lookups
Never filter by entity names directly always get ID first:
Use Maximum Page Size
Always use per page=200 for efficient data retrieval:
Batch Multiple IDs
Use batch lookup() for multiple IDs instead of individual requests:
Use Sample Parameter for Random Data
Use sample works() with seed for reproducible random sampling:
Select Only Needed Fields
Reduce response size by selecting specific fields:
Common Filter Patterns
Date Ranges
Multiple Filters (AND)
Multiple Values (OR)
Collaboration (AND within attribute)
Negation
Entity Types
OpenAlex provides these entity types:
works Scholarly documents (articles, books, datasets)
authors Researchers with disambiguated identities
institutions Universities and research organizations
sources Journals, repositories, conferences
topics Subject classifications
publishers Publishing organizations
funders Funding agencies
Access any entity type using consistent patterns:
External IDs
Use external identifiers directly:
Reference Documentation
Detailed API Reference
See references/api guide.md for:
Complete filter syntax
All available endpoints
Response structures
Error handling
Performance optimization
Rate limiting details
Common Query Examples
See references/common queries.md for:
Complete working examples
Real world use cases
Complex query patterns
Data export workflows
Multi step analysis procedures
Scripts
openalex client.py
Main API client with:
Automatic rate limiting
Exponential backoff retry logic
Pagination support
Batch operations
Error handling
Use for direct API access with full control.
query helpers.py
High level helper functions for common operations:
find author works() Get papers by author
find institution works() Get papers from institution
find highly cited recent papers() Get influential papers
get open access papers() Find OA publications
get publication trends() Analyze trends over time
analyze research output() Comprehensive analysis
Use for common research queries with simplified interfaces.
Troubleshooting
Rate Limiting
If encountering 403 errors:
1. Ensure email is added to requests
2. Verify not exceeding 10 req/sec
3. Client automatically implements exponential backoff
Empty Results
If searches return no results:
1. Check filter syntax (see references/api guide.md )
2. Use two step pattern for entity lookups (don't filter by names)
3. Verify entity IDs are correct format
Timeout Errors
For large queries:
1. Use pagination with per page=200
2. Use select= to limit returned fields
3. Break into smaller queries if needed
Rate Limits
Default : 1 request/second, 100k requests/day
Polite pool (with email) : 10 requests/second, 100k requests/day
Always use polite pool for production workflows by providing email to client.
Notes
No authentication required
All data is open and free
Rate limits apply globally, not per IP
Use LitLLM with OpenRouter if LLM based analysis is needed (don't use Perplexity API directly)
Client handles pagination, retries, and rate limiting automatically