agentsclimarketplace

Repec economics api

Skill brycewang-stanford/Auto-Empirical-Research-Skills/skills/43-wentorai-research-plugins/skills/domains/economics/repec-economics-api

Access 4M+ economics working papers and articles via RePEc APIFrom its SKILL.md

Install
npx -y skills add brycewang-stanford/Auto-Empirical-Research-Skills --skill repec-economics-api

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

5.4 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

RePEc (Research Papers in Economics) API

Overview

RePEc is the largest decentralized bibliographic database for economics, indexing 4.4M+ items (working papers, journal articles, books, software) from 2,600+ publishers. It powers IDEAS and EconPapers — the two most-used economics paper search engines. The API provides metadata access and citation data. Free, no authentication required for basic access.

Access Methods

IDEAS Search API

# Search economics papers
curl "https://ideas.repec.org/cgi-bin/htsearch?q=monetary+policy+inflation&cmd=Search&fmt=json"

# Search specific types
# Working papers
curl "https://ideas.repec.org/cgi-bin/htsearch?q=fiscal+stimulus&ul=%%2Fp%%2F&fmt=json"

# Journal articles
curl "https://ideas.repec.org/cgi-bin/htsearch?q=trade+liberalization&ul=%%2Fa%%2F&fmt=json"

RePEc Simple API

# Get metadata for a handle
curl "https://api.repec.org/handle?handle=RePEc:nbr:nberwo:28104"

# Author profile by short-id
curl "https://api.repec.org/author?short-id=ppi1"

# List items in a series
curl "https://api.repec.org/series?series=RePEc:nbr:nberwo"

CitEc Citation Data

# Get citations for a paper
curl "https://citec.repec.org/api/plain/RePEc:nbr:nberwo:28104"

# Response: list of citing paper handles

LogEc Usage Statistics

# Get download/view statistics
curl "https://logec.repec.org/scripts/paperstat.pf?h=RePEc:nbr:nberwo:28104"

RePEc Handle Structure

RePEc:{archive}:{series}:{id}

Examples:
RePEc:nbr:nberwo:28104   → NBER Working Paper 28104
RePEc:aea:aecrev:v:114:y:2024:i:1:p:1-25  → AER article
RePEc:ecm:emetrp:v:92:y:2024:i:3:p:821-845 → Econometrica article
RePEc:red:sed024:1234    → SED 2024 meeting paper

Major Archives

PrefixPublisher
nbrNational Bureau of Economic Research (NBER)
aeaAmerican Economic Association
ecmEconometric Society
wbkWorld Bank
imfInternational Monetary Fund
fedFederal Reserve System
cprCentre for Economic Policy Research (CEPR)

Python Usage

import requests

IDEAS_URL = "https://ideas.repec.org/cgi-bin/htsearch"
CITEC_URL = "https://citec.repec.org/api/plain"


def search_economics(query: str, max_results: int = 20,
                     paper_type: str = None) -> list:
    """Search economics papers on IDEAS/RePEc."""
    params = {
        "q": query,
        "cmd": "Search",
        "fmt": "json",
        "ps": max_results,
    }
    if paper_type == "working_papers":
        params["ul"] = "%2Fp%2F"
    elif paper_type == "articles":
        params["ul"] = "%2Fa%2F"

    resp = requests.get(IDEAS_URL, params=params, timeout=30)
    resp.raise_for_status()
    data = resp.json()

    results = []
    for item in data.get("matches", []):
        results.append({
            "title": item.get("title", ""),
            "url": item.get("url", ""),
            "handle": item.get("handle", ""),
            "authors": item.get("authors", ""),
            "date": item.get("date", ""),
            "abstract": item.get("abstract", "")[:300],
        })
    return results


def get_citations(handle: str) -> list:
    """Get papers citing a given RePEc handle."""
    resp = requests.get(f"{CITEC_URL}/{handle}", timeout=30)
    resp.raise_for_status()
    citations = []
    for line in resp.text.strip().split("\n"):
        line = line.strip()
        if line and line.startswith("RePEc:"):
            citations.append(line)
    return citations


def search_working_papers(topic: str) -> list:
    """Search specifically for working papers."""
    return search_economics(topic, paper_type="working_papers")


# Example: find monetary policy research
papers = search_economics("central bank digital currency", max_results=10)
for p in papers:
    print(f"[{p['date']}] {p['title']}")
    print(f"  {p['authors']}")

# Example: citation analysis
if papers and papers[0].get("handle"):
    cites = get_citations(papers[0]["handle"])
    print(f"\nCited by {len(cites)} papers")
    for c in cites[:5]:
        print(f"  {c}")

Key Data Products

ProductURLDescription
IDEASideas.repec.orgFull-text search engine
EconPaperseconpapers.repec.orgAlternative search interface
CitEccitec.repec.orgCitation analysis
LogEclogec.repec.orgUsage statistics
AuthorServiceauthors.repec.orgAuthor profiles and rankings
CollEccollec.repec.orgInstitutional research output

Rankings

RePEc publishes monthly rankings of economists, institutions, and journals based on citations, downloads, and h-index:

# Top economists
curl "https://ideas.repec.org/top/top.person.all.html"

# Top institutions
curl "https://ideas.repec.org/top/top.inst.all.html"

References

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,144. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.