Skip to content
cccskills
FreePublished on GitHub

academic-paper-search

Search academic sources for papers on a topic, retrieve publication details, and find available PDFs. The skill guides source selection, combines results across services, and removes duplicates using DOIs, unique identifiers assigned to papers.

OriginalShow the original description

This skill should be used when the user asks to "search for academic papers", "find working papers on SSRN", "look up a DOI", "download paper PDF", "check open access availability", "search NBER papers", "find arXiv preprints", or "search CrossRef". Provides unified search, metadata retrieval, and PDF download across arXiv, NBER, SSRN, CrossRef, OpenAlex, Unpaywall, and Semantic Scholar. Covers economics, finance, social science, CS/AI, and all academic disciplines.

Run score Not tested

See how to install

Good for

  • Search multiple sources for papers on a topic
  • Find economics and social science working papers
  • Retrieve publication details from a DOI
  • Find and download available paper PDFs

Files included (2)

  • SKILL.md13.9 KB
  • references/journal_identifiers.md9.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Academic Paper Search

A unified toolkit for discovering, retrieving metadata, and downloading academic papers across all major sources. The right API depends on the task — this skill routes to the best source.

Decision Tree: Which API to Use

What is needed?
│
├─ SEARCH for papers on a topic
│  ├─ arXiv preprints (CS/AI/Physics/Econ) ──→ arXiv API
│  ├─ NBER working papers (economics) ───────→ NBER API
│  ├─ SSRN working papers (social science) ──→ OpenAlex (primary) + CrossRef prefix:10.2139
│  ├─ Published journal articles ────────────→ CrossRef API or OpenAlex
│  └─ Broad multi-source search ─────────────→ OpenAlex API
│
├─ GET METADATA for a known paper
│  ├─ Have DOI ──→ CrossRef (structured) or OpenAlex (richer)
│  ├─ Have arXiv ID ──→ arXiv API
│  ├─ Have NBER number ──→ NBER API
│  └─ Have SSRN abstract ID ──→ OpenAlex DOI lookup (DOI = 10.2139/ssrn.{id})
│
├─ FIND/DOWNLOAD PDF
│  ├─ Have DOI ──→ Unpaywall API (check OA) → OpenAlex (alt PDF links)
│  ├─ arXiv paper ──→ Direct: https://arxiv.org/pdf/{id}
│  ├─ NBER paper ──→ Direct: https://www.nber.org/system/files/working_papers/w{n}/w{n}.pdf
│  └─ SSRN paper ──→ Unpaywall (~30%) or institutional repos (EconStor, IZA)
│
└─ IMPORT TO ZOTERO
   └─ Always use zotero_add_by_doi (best metadata + auto PDF via Unpaywall cascade)

1. OpenAlex API (Best All-Round)

Free, no API key needed. Covers 250M+ works including SSRN, NBER, arXiv, all journals. Add mailto=your@email.com for polite pool (faster responses).

Search by Source

# SSRN papers (source ID: S4210172589, NOT S4306400806 which is Europe PMC)
curl -s "https://api.openalex.org/works?filter=primary_location.source.id:S4210172589,default.search:social+preferences,publication_year:2024-2026&per_page=25&mailto=you@university.edu"

# NBER papers
curl -s "https://api.openalex.org/works?filter=primary_location.source.id:S4210174556,default.search:behavioral+economics&per_page=25&mailto=you@university.edu"

Search by Topic (All Sources)

curl -s "https://api.openalex.org/works?search=network+formation+game+theory&filter=publication_year:2024-2026&per_page=25&sort=cited_by_count:desc&mailto=you@university.edu"

DOI Lookup

curl -s "https://api.openalex.org/works/doi:10.2139/ssrn.4812743?mailto=you@university.edu"

Python Pattern

import requests

def openalex_search(query, source_id=None, year_from=2024, year_to=2026, per_page=25):
    """Search OpenAlex. source_id: S4210172589 (SSRN), S4210174556 (NBER), etc."""
    filters = [f"default.search:{query}", f"publication_year:{year_from}-{year_to}"]
    if source_id:
        filters.insert(0, f"primary_location.source.id:{source_id}")
    params = {
        "filter": ",".join(filters),
        "per_page": per_page,
        "mailto": "you@university.edu"
    }
    data = requests.get("https://api.openalex.org/works", params=params).json()
    results = []
    for w in data.get("results", []):
        pdf_urls = [loc["pdf_url"] for loc in w.get("locations", []) if loc.get("pdf_url")]
        results.append({
            "title": w["title"],
            "doi": w.get("doi", "").replace("https://doi.org/", ""),
            "year": w.get("publication_year"),
            "authors": [a["author"]["display_name"] for a in w.get("authorships", [])],
            "cited_by": w.get("cited_by_count", 0),
            "pdf_urls": pdf_urls,
            "landing_url": (w.get("primary_location") or {}).get("landing_page_url", ""),
        })
    return {"total": data.get("meta", {}).get("count", 0), "results": results}

Key Source IDs

Full reference: See references/journal_identifiers.md for a comprehensive table of 77 verified OpenAlex Source IDs and CrossRef ISSNs covering Top 5 economics, AEA journals, finance, management, marketing, accounting, IS, and 15+ field journal categories.

SourceOpenAlex IDCrossRef ISSN
SSRN Electronic JournalS42101725891556-5068
NBER Working PapersS2809516038N/A
American Economic ReviewS232542220002-8282
Quarterly Journal of EconomicsS2038600050033-5533
EconometricaS954648580012-9682

Warning: OpenAlex source IDs are opaque and not guessable. Always verify via https://api.openalex.org/sources?search=journal+name before using a new ID. For verified IDs of 77 journals, consult references/journal_identifiers.md.

PDF from OpenAlex

primary_location.pdf_url is null for SSRN papers (Elsevier blocks it). Check locations[].pdf_url for third-party repos — ~24% of SSRN papers have PDFs via EconStor, IZA, MPRA, etc. These are real, downloadable PDFs.


2. CrossRef API (Best for DOI Metadata)

Free, no key needed. Add mailto= for 50 req/sec (vs 1 req/sec without).

Search with SSRN DOI Prefix

# All SSRN papers matching a query
curl -s "https://api.crossref.org/works?query=%22social+preferences%22&filter=prefix:10.2139,from-pub-date:2024-01-01&rows=25&sort=relevance&mailto=you@university.edu"

Search within a Journal

# See references/journal_identifiers.md for 77 verified ISSNs
# AER: 0002-8282, QJE: 0033-5533, JPE: 0022-3808, Econometrica: 0012-9682, REStud: 0034-6527
curl -s "https://api.crossref.org/journals/0002-8282/works?query=auction+mechanism&rows=10&mailto=you@university.edu"

DOI Lookup

curl -s "https://api.crossref.org/works/10.1257/aer.20171330?mailto=you@university.edu"

DOI Construction Rules

SourceDOI FormatExample
SSRN10.2139/ssrn.{abstract_id}10.2139/ssrn.4812743
NBER10.3386/w{number}10.3386/w34297

These predictable DOI formats allow constructing DOIs from paper IDs without making extra API calls.

Limitations

CrossRef returns title, authors, DOI, date, journal — but no abstracts for SSRN papers (Elsevier doesn't submit them to CrossRef). Use OpenAlex for richer metadata.


3. arXiv API (Preprints — CS/AI/Physics/Math/Econ)

Free, no key needed. Returns Atom XML. Rate limit: ~1 request per 3 seconds.

curl -s "https://export.arxiv.org/api/query?search_query=abs:social+preferences+AND+(cat:econ.TH+OR+cat:econ.GN)&max_results=20&sortBy=submittedDate&sortOrder=descending"

Search Prefixes

all: (full text), ti: (title), au: (author), abs: (abstract), cat: (category). Boolean: AND, OR, ANDNOT. Exact phrase: %22social+preferences%22.

Economics Categories

econ.TH (Theory), econ.GN (General), econ.EM (Econometrics).

Caveat: The cat: filter in search_query does not always reliably restrict results to specified categories — arXiv may still return papers from other fields. Verify category matches in results and filter client-side if needed.

Direct PDF

https://arxiv.org/pdf/{id}          # e.g. https://arxiv.org/pdf/2401.12345
https://arxiv.org/abs/{id}          # abstract page

4. NBER API (Economics Working Papers)

Free, no key needed. Returns JSON.

# Search
curl -s "https://www.nber.org/api/v1/working_page_listing/contentType/working_paper/_/_/search?page=1&perPage=20&q=social+preferences"

# Filter by Program (replace _/_ with programs/{name})
curl -s "https://www.nber.org/api/v1/working_page_listing/contentType/working_paper/programs/Labor+Studies/search?page=1&perPage=20&q=minimum+wage"

# New this week
curl -s "https://www.nber.org/api/v1/working_page_listing/contentType/working_paper/_/_/search?page=1&perPage=20&newThisWeek=true"

Programs

Labor Studies, Economic Fluctuations and Growth, Industrial Organization, Public Economics, Development Economics, International Finance and Macroeconomics, Corporate Finance, Asset Pricing, Health Economics, etc.

Response Processing

Authors field contains HTML <a> tags — strip with: re.sub(r'<[^>]+>', '', text)

No built-in date filter — API sorts by relevance. Filter client-side by displaydate.

Direct PDF

https://www.nber.org/system/files/working_papers/w{number}/w{number}.pdf

5. Unpaywall API (Open Access PDF Finder)

Free, no key needed. Email as query param. 100,000 requests/day.

curl -s "https://api.unpaywall.org/v2/10.2139/ssrn.4812743?email=you@university.edu" \
  | python3 -c "
import sys, json
d = json.load(sys.stdin)
print(f'OA: {d[\"is_oa\"]} ({d[\"oa_status\"]})')
pdf = (d.get('best_oa_location') or {}).get('url_for_pdf')
print(f'PDF: {pdf or \"none\"}')
# Check all locations for alternative PDFs
for loc in d.get('oa_locations', []):
    if loc.get('url_for_pdf'):
        print(f'Alt PDF: {loc[\"url_for_pdf\"]} ({loc[\"host_type\"]})')
"

OA Status Values

StatusMeaning
goldPublished OA by publisher
greenFree copy in a repository
hybridOA article in subscription journal
bronzeFree to read on publisher site
closedNo free version found

Platform-Specific PDF Availability

SourceUnpaywall PDF RateWhy
arXiv~100%Native OA, direct PDF links
NBER~97%Green OA via author/institution repos
SSRN~30%Cloudflare blocks Unpaywall; only finds institutional repo mirrors

For SSRN papers where Unpaywall returns url_for_pdf=null, check oa_locations[] for institutional repositories (EconStor, university repos) — follow their landing pages to find PDF links.


6. Semantic Scholar API (Citations & Impact)

Free, no key needed. Rate limit: 100 requests per 5 minutes. Warning: As of 2026, Semantic Scholar may return 429 errors frequently. Consider registering for an API key at https://www.semanticscholar.org/product/api for higher limits. Add header: x-api-key: YOUR_KEY.

# Search
curl -s "https://api.semanticscholar.org/graph/v1/paper/search?query=social+preferences+experiment&fields=title,year,authors,citationCount,externalIds,venue&limit=20&year=2024-2026"

# DOI lookup
curl -s "https://api.semanticscholar.org/graph/v1/paper/DOI:10.1257/aer.20171330?fields=title,year,authors,citationCount,abstract"

Field of Study Filter

fieldsOfStudy=Economics,Sociology,Political+Science,Business,Psychology

Warning: The Economics filter is very strict and may return 0 results. Often better to search without it and filter manually.

When to Use

Best for: citation counts, finding related papers, author impact metrics. Not best for: SSRN-specific search (poor coverage), bulk downloading.


7. Tavily Search (Fallback for Any Source)

When APIs do not cover the need, Tavily can search any academic site. Particularly useful for SSRN (no public API) and as a fallback for any source.

# Via MCP tool
mcp__tavily__tavily-search({
    "query": 'site:ssrn.com "social preferences" economics 2024 2025',
    "search_depth": "advanced",
    "max_results": 20,
    "include_domains": ["ssrn.com", "papers.ssrn.com"]
})

# Also works for NBER, RePEc, etc.
mcp__tavily__tavily-search({
    "query": 'site:nber.org "network formation" working paper',
    "include_domains": ["nber.org"]
})

Recommended Workflows

Workflow A: Comprehensive Topic Search

For finding all recent papers on a topic across multiple sources:

1. OpenAlex: broad search (all sources, richest metadata)
2. CrossRef prefix:10.2139: catch SSRN papers OpenAlex might miss
3. NBER API: NBER-specific search with program filtering
4. arXiv API: preprints in CS/AI/Physics/Econ
5. Tavily: sweep for anything the APIs missed
6. Deduplicate by DOI

Workflow B: SSRN Paper Search

SSRN has no public API. Use this cascade:

1. OpenAlex (filter: source.id:S4210172589) — best: 1 API call, rich metadata
2. CrossRef (filter: prefix:10.2139) — backup: structured DOI search
3. Tavily (include_domains: ssrn.com) — catches papers not yet in OpenAlex/CrossRef

Workflow C: PDF Download Pipeline

Try sources in this order (most reliable first):

1. arXiv direct: https://arxiv.org/pdf/{id}
2. NBER direct: https://www.nber.org/system/files/working_papers/w{n}/w{n}.pdf
3. Unpaywall: check best_oa_location.url_for_pdf via DOI
4. OpenAlex: check locations[].pdf_url for third-party repo PDFs
5. Institutional repos: follow Unpaywall oa_locations landing pages
6. SSRN direct: construct Delivery.cfm URL (may be Cloudflare-blocked)

Workflow D: Zotero Import

Always prefer zotero_add_by_doi over zotero_add_by_url:

  • Better metadata (correct entry types, complete fields)
  • Higher PDF download success (Zotero uses Unpaywall → arXiv → S2 → PMC cascade)
  • DOI can be constructed for SSRN (10.2139/ssrn.{id}) and NBER (10.3386/w{number})

Rate Limits & Best Practices

APIRate LimitBest Practice
OpenAlex10 req/sec (polite pool)Add mailto= parameter
CrossRef50 req/sec with mailto=, 1/sec withoutAlways add mailto=
Unpaywall100K/dayBurst OK, no throttling needed
arXiv~1 req/3secAdd time.sleep(3) between requests
NBERNo documented limitBe polite, ~1 req/sec
Semantic Scholar100 req/5minAdd time.sleep(3) or use API key for higher limit
TavilyPer planUse search_depth: "basic" when possible

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

a1

FreeSummary

Turn a broad research idea into clear, testable questions. Compare familiar and less conventional approaches, structure the selected question around its population and methods, and assess variables, feasibility, and potential theoretical contributions.

  • Turn a research topic into testable questions
  • Narrow an overly broad research question
  • Compare alternative research angles
brycewang-stanford/Auto-Empirical-Research-Skills4.8KUpdated Oct 20, 2026

a2

FreeSummary

Helps build a research framework by comparing theories, mapping relationships between variables, and deriving testable hypotheses. Explores less conventional options, examines weaknesses and competing explanations, and produces diagrams with anticipated reviewer objections.

  • Comparing theories for a research question
  • Deriving hypotheses from relationships between variables
  • Examining weaknesses and anticipated reviewer objections
brycewang-stanford/Auto-Empirical-Research-Skills4.8KUpdated Oct 20, 2026

a5

FreeSummary

Clarify the philosophical assumptions behind a research project and check whether they fit the proposed methods. Get a reasoned research stance, draft proposal wording, and guidance for explaining how the researcher's background and values shape the study.

  • Clarifying philosophical foundations for a research proposal
  • Explaining why the chosen research methods fit the study
  • Drafting a statement about the researcher's position
brycewang-stanford/Auto-Empirical-Research-Skills4.8KUpdated Oct 20, 2026

academic-paper

FreeSummary

Plan and draft academic papers through specialized agent roles covering literature, arguments, citations, and review. Get chapter guidance, revision roadmaps, Traditional Chinese and English abstracts, and documents formatted as LaTeX, DOCX, PDF, or Markdown.

  • Planning a paper chapter by chapter
  • Drafting a paper from research materials
  • Turning reviewer comments into a revision roadmap
brycewang-stanford/Auto-Empirical-Research-Skills4.8KUpdated Oct 20, 2026

Turn a detailed outline into a philosophy or interdisciplinary manuscript. Draft chapters with repeated quality reviews, check terminology and arguments across sections, and prepare the manuscript, evaluation reports, abstract, and metadata for submission.

  • Draft a full paper from a detailed outline
  • Review argument and citation quality chapter by chapter
  • Check terminology and argument flow across chapters
brycewang-stanford/Auto-Empirical-Research-Skills4.8KUpdated Oct 20, 2026

Simulate academic peer review through five reviewer roles tailored to the paper's field. Receive separate critiques, an editorial decision, and a prioritized revision roadmap, or check whether a revised manuscript addresses earlier comments.

  • Review a manuscript before journal submission
  • Examine research methods and statistical validity
  • Challenge core arguments and alternative explanations
brycewang-stanford/Auto-Empirical-Research-Skills4.8KUpdated Oct 20, 2026

See all skills by brycewang-stanford

Report a problem with this skill