name: ieee-xplore-api
description: "Search IEEE's 6M+ engineering and CS publications via the Xplore API"
metadata:
openclaw:
emoji: "🔌"
category: "literature"
subcategory: "search"
keywords: ["ieee", "engineering literature", "computer science", "technical standards", "conference papers", "xplore"]
source: "https://developer.ieee.org/"
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 |
|---|
apikey | API key (required) | apikey=YOUR_KEY |
querytext | Free-text search | querytext=neural+network |
article_title | Title search | article_title=BERT |
author | Author name | author=Vaswani |
abstract | Abstract search | abstract=reinforcement+learning |
index_terms | IEEE keyword terms | index_terms=machine+learning |
d-au | Exact author | d-au=Yann+LeCun |
start_year | From year | start_year=2020 |
end_year | To year | end_year=2026 |
content_type | Document type | Journals, Conferences, Standards, Books |
publication_title | Venue name | publication_title=CVPR |
max_records | Results (max 200) | max_records=50 |
start_record | Pagination offset | start_record=51 |
sort_field | Sort by | article_date, article_title |
sort_order | Sort direction | asc or desc |
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 |
References