Awesome-Agent-Skills-for-Empirical-Research ieee-xplore-api
Search IEEE's 6M+ engineering and CS publications via the Xplore API
install
source · Clone the upstream repo
git clone https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/43-wentorai-research-plugins/skills/literature/search/ieee-xplore-api" ~/.claude/skills/brycewang-stanford-awesome-agent-skills-for-empirical-research-ieee-xplore-api && rm -rf "$T"
manifest:
skills/43-wentorai-research-plugins/skills/literature/search/ieee-xplore-api/SKILL.mdsource content
IEEE Xplore API
Overview
IEEE Xplore provides access to over 6 million technical documents — journal articles, conference proceedings, technical standards, and books — covering electrical engineering, computer science, and related fields. The API enables metadata search, full-text access (with subscription), and DOI-based batch lookup. Requires an API key (free registration) and institutional subscription for full features.
API Endpoints
Base URL
https://ieeexploreapi.ieee.org/api/v1/search/articles
Metadata Search
# Basic keyword search curl "https://ieeexploreapi.ieee.org/api/v1/search/articles?\ apikey=YOUR_API_KEY&\ querytext=transformer+attention+mechanism&\ max_records=25" # Search with filters curl "https://ieeexploreapi.ieee.org/api/v1/search/articles?\ apikey=YOUR_API_KEY&\ querytext=federated+learning&\ start_year=2022&\ end_year=2026&\ content_type=Conferences&\ max_records=50"
Query Parameters
| Parameter | Description | Example |
|---|---|---|
| API key (required) | |
| Free-text search | |
| Title search | |
| Author name | |
| Abstract search | |
| IEEE keyword terms | |
| Exact author | |
| From year | |
| To year | |
| Document type | , , , |
| Venue name | |
| Results (max 200) | |
| Pagination offset | |
| Sort by | , |
| Sort direction | or |
Boolean Search
# Boolean operators: AND, OR, NOT querytext=(machine AND learning) NOT survey # Phrase search querytext="graph neural network" # Field-specific boolean article_title="attention" AND author="Vaswani"
DOI Batch Lookup
# Look up up to 25 DOIs at once curl "https://ieeexploreapi.ieee.org/api/v1/search/articles?\ apikey=YOUR_API_KEY&\ doi=10.1109/CVPR.2024.12345&\ doi=10.1109/TPAMI.2023.67890"
Response Structure
{ "total_records": 1250, "articles": [ { "title": "Article Title", "authors": { "authors": [ {"full_name": "Author Name", "affiliation": "University"} ] }, "abstract": "The abstract text...", "publication_title": "IEEE CVPR 2024", "content_type": "Conferences", "doi": "10.1109/CVPR.2024.12345", "publication_date": "2024-06-01", "start_page": "100", "end_page": "110", "citing_paper_count": 15, "pdf_url": "https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=12345", "html_url": "https://ieeexplore.ieee.org/document/12345" } ] }
Python Usage
import os import requests API_KEY = os.environ["IEEE_API_KEY"] BASE_URL = "https://ieeexploreapi.ieee.org/api/v1/search/articles" def search_ieee(query: str, max_results: int = 25, content_type: str = None, start_year: int = None) -> list: """Search IEEE Xplore for technical publications.""" params = { "apikey": API_KEY, "querytext": query, "max_records": max_results, "sort_field": "article_date", "sort_order": "desc" } if content_type: params["content_type"] = content_type if start_year: params["start_year"] = start_year resp = requests.get(BASE_URL, params=params) resp.raise_for_status() data = resp.json() results = [] for article in data.get("articles", []): authors = [a["full_name"] for a in article.get("authors", {}).get("authors", [])] results.append({ "title": article.get("title"), "authors": authors, "venue": article.get("publication_title"), "year": article.get("publication_date", "")[:4], "doi": article.get("doi"), "citations": article.get("citing_paper_count", 0), "url": article.get("html_url") }) return results # Example papers = search_ieee("edge computing IoT", content_type="Journals", start_year=2023) for p in papers: print(f"[{p['year']}] {p['title']} — {p['venue']} (cited: {p['citations']})")
Access Tiers
| Tier | Access Level | Requirements |
|---|---|---|
| Free | Metadata + abstracts | API key registration |
| Open Access | Full text of OA articles | API key |
| Institutional | Full text of all articles | API key + subscription |