Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Query the OpenAlex catalog of scholarly works, authors, and institutions
.claude/skills/brycewang-stanford-openalex-api/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-01 | ✓→✓ | = Same ✓ | 67% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 69% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 58% | 0% |
OpenAlex is a free, open catalog of the global research system. It indexes over 250 million scholarly works, 90 million authors, 100,000 institutions, and 65,000 concepts. Created by the nonprofit OurResearch as a replacement for Microsoft Academic Graph, OpenAlex provides comprehensive bibliometric data for academic research analysis.
The API serves as a powerful tool for researchers conducting systematic literature reviews, bibliometric analyses, and research landscape mapping. It covers works across all academic disciplines, linking papers to their authors, institutions, concepts, and citation networks. Each entity in OpenAlex has a persistent identifier (OpenAlex ID) and is enriched with metadata from CrossRef, ORCID, ROR, and other authoritative sources.
OpenAlex is entirely free to use. No API key is required, though providing a contact email in the mailto parameter grants access to the polite pool with faster response times and higher rate limits.
No authentication required. For better rate limits and access to the polite pool, include your email in requests:
https://api.openalex.org/works?mailto=your@email.comThe polite pool provides significantly faster responses and is recommended for all production usage.
GET https://api.openalex.org/works| Param | Type | Required | Description | |-------|------|----------|-------------| | search | string | No | Full-text search across titles and abstracts | | filter | string | No | Structured filters (e.g., publication_year:2024, cited_by_count:>100) | | sort | string | No | Sort field: cited_by_count, publication_date, relevance_score | | page | integer | No | Page number for pagination (default: 1) | | per_page | integer | No | Results per page (default: 25, max: 200) | | mailto | string | No | Email for polite pool access |
bash curl "https://api.openalex.org/works?search=large+language+models&filter=publication_year:2024&sort=cited_by_count:desc&per_page=10&mailto=user@example.com"
results array containing id, title, doi, publication_date, cited_by_count, authorships, concepts, open_access status, and abstract_inverted_index.GET https://api.openalex.org/authors| Param | Type | Required | Description | |-------|------|----------|-------------| | search | string | No | Name-based author search | | filter | string | No | Filters (e.g., works_count:>50, last_known_institution.id) | | sort | string | No | Sort field: works_count, cited_by_count, h_index | | per_page | integer | No | Results per page (default: 25, max: 200) |
bash curl "https://api.openalex.org/authors?search=Geoffrey+Hinton&mailto=user@example.com"
results array containing id, display_name, orcid, works_count, cited_by_count, h_index, last_known_institution, and x_concepts.GET https://api.openalex.org/institutions| Param | Type | Required | Description | |-------|------|----------|-------------| | search | string | No | Institution name search | | filter | string | No | Filters (e.g., country_code:US, type:education) | | sort | string | No | Sort field: works_count, cited_by_count | | per_page | integer | No | Results per page |
bash curl "https://api.openalex.org/institutions?search=MIT&mailto=user@example.com"
id, display_name, ror, country_code, type, works_count, and cited_by_count.GET https://api.openalex.org/concepts| Param | Type | Required | Description | |-------|------|----------|-------------| | search | string | No | Concept name search | | filter | string | No | Filters (e.g., level:0 for top-level concepts) | | per_page | integer | No | Results per page |
bash curl "https://api.openalex.org/concepts?filter=level:0&per_page=50&mailto=user@example.com"
works_count, and related concepts.Without the mailto parameter: 10 requests per second, 100,000 requests per day. With the mailto parameter (polite pool): significantly higher throughput. The API uses HTTP 429 responses when limits are exceeded. Implement exponential backoff for production usage.
Retrieve all works that cite a specific paper by its DOI:
bashcurl "https://api.openalex.org/works?filter=cites:W2741809807&sort=cited_by_count:desc&per_page=25&mailto=user@example.com"
Analyze publication trends for a specific institution:
bashcurl "https://api.openalex.org/works?filter=institutions.id:I136199984,publication_year:2024&group_by=open_access.is_oa&mailto=user@example.com"
Explore how a concept connects to others in the research landscape:
bashcurl "https://api.openalex.org/concepts/C41008148?mailto=user@example.com"
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | pass→pass | 10,578 | 20,144 | +90% | 1 | 1 | 0% | 1,652 | 2,762 | +67% | 0 | 0 | — |
case-02 | fail→pass | 12,931 | 4,251 | -67% | 1 | 1 | 0% | 2,114 | 2,473 | +17% | 0 | 0 | — |
case-03 | pass→pass | 8,502 | 4,112 | -52% | 1 | 1 | 0% | 1,346 | 2,278 | +69% | 0 | 0 | — |
case-04 | pass→pass | 7,606 | 4,882 | -36% | 1 | 1 | 0% | 1,563 | 2,475 | +58% | 0 | 0 | — |
case-05 | pass→pass | 8,276 | 5,130 | -38% | 1 | 1 | 0% | 1,385 | 2,347 | +69% | 0 | 0 | — |
case-06 | pass→pass | 7,467 | 4,450 | -40% | 1 | 1 | 0% | 1,456 | 2,377 | +63% | 0 | 0 | — |
case-07 | pass→pass | 11,829 | 9,737 | -18% | 1 | 1 | 0% | 1,861 | 3,185 | +71% | 0 | 0 | — |
case-08 | pass→pass | 8,325 | 10,732 | +29% | 1 | 1 | 0% | 1,595 | 3,364 | +111% | 0 | 0 | — |
case-09 | pass→pass | 11,420 | 4,632 | -59% | 1 | 1 | 0% | 1,797 | 2,387 | +33% | 0 | 0 | — |
case-10 | pass→pass | 6,623 | 4,577 | -31% | 1 | 1 | 0% | 1,187 | 2,371 | +100% | 0 | 0 | — |
case-11 | pass→pass | 5,035 | 1,792 | -64% | 1 | 1 | 0% | 810 | 1,888 | +133% | 0 | 0 | — |
case-12 | pass→pass | 8,325 | 7,425 | -11% | 1 | 1 | 0% | 1,639 | 2,967 | +81% | 0 | 0 | — |
case-13 | pass→pass | 8,917 | 7,624 | -15% | 1 | 1 | 0% | 1,706 | 2,773 | +63% | 0 | 0 | — |
case-14 | pass→pass | 3,309 | 3,711 | +12% | 1 | 1 | 0% | 543 | 2,246 | +314% | 0 | 0 | — |
case-15 | pass→pass | 9,775 | 3,350 | -66% | 1 | 1 | 0% | 1,840 | 2,230 | +21% | 0 | 0 | — |
case-16 | pass→pass | 5,437 | 2,548 | -53% | 1 | 1 | 0% | 806 | 1,922 | +138% | 0 | 0 | — |
case-17 | pass→pass | 8,166 | 5,631 | -31% | 1 | 1 | 0% | 1,518 | 2,595 | +71% | 0 | 0 | — |
case-18 | pass→pass | 17,940 | 8,139 | -55% | 1 | 1 | 0% | 2,833 | 3,161 | +12% | 0 | 0 | — |
case-19 | fail→pass | 12,382 | 1,958 | -84% | 1 | 1 | 0% | 1,771 | 1,905 | +8% | 0 | 0 | — |
case-20 | pass→pass | 11,654 | 7,387 | -37% | 1 | 1 | 0% | 1,856 | 2,946 | +59% | 0 | 0 | — |
case-21 | pass→pass | 16,765 | 20,006 | +19% | 1 | 1 | 0% | 3,336 | 4,851 | +45% | 0 | 0 | — |
case-22 | pass→pass | 11,804 | 14,203 | +20% | 1 | 1 | 0% | 2,820 | 3,824 | +36% | 0 | 0 | — |
case-23 | pass→pass | 5,796 | 4,457 | -23% | 1 | 1 | 0% | 704 | 2,172 | +209% | 0 | 0 | — |
case-24 | pass→pass | 12,127 | 9,528 | -21% | 1 | 1 | 0% | 1,760 | 3,101 | +76% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted. The headline lift of +8 percentage points is the difference between those two pass rates over the 24 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.