Structured claims extracted from chemistry papers across 14 subfields. Every claim is source-grounded, hierarchically organized, and classified into 7 simultaneous views.
Suzuki coupling
MOF CO2 reduction
machine learning molecular
perovskite solar cell
Suzuki coupling
MOF CO2 reduction
machine learning molecular
perovskite solar cell
AskChem organizes claims into multiple complementary views — 5 chemistry-content views, plus author, temporal, and epistemic-role views. Each provides a different lens on the same knowledge — pick one to start exploring.
Manage your subscriptions, bookmarks, saved searches, API keys, and recent activity.
Public lists can be shared with anyone via a link. You can change visibility later.
Each key is shown once. Treat it like a password. Up to 10 active keys per user.
Transparent metrics on extraction quality, DOI verification, corpus coverage, and known limitations.
Quantitative evaluation of structured scientific retrieval. 30 chemistry questions, automated DOI verification via CrossRef, fully reproducible.
AskChem is API-first. Every feature available in the web interface is also available via REST API. For AI agent integration, see the Agents tab. For benchmark results, see the Benchmark tab.
| Access Level | Rate Limit | Auth |
|---|---|---|
| Anonymous | 60 requests/min | None |
| API Key | 300 requests/min | Authorization: Bearer ac-... |
Sign in and create an API key from your profile (POST /api/me/api-keys, authenticated). Rate limit headers (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset) are included in every response.
| Code | Meaning |
|---|---|
200 | Success |
404 | Claim, author, or paper not found |
422 | Validation error (bad query params) |
429 | Rate limit exceeded — retry after X-RateLimit-Reset seconds |
503 | Database temporarily unavailable |
The stable API lives at /v1/ (mirrors search, claims, views, tree, sources, stats, submit, temporal, evolution, authors, feed). The /api/ prefix is the latest version and may include experimental endpoints. Use /v1/ for production integrations.
curl "https://askchem.org/api/search?q=suzuki+coupling&limit=5"
curl "https://askchem.org/api/tree/by_reaction_type/Cross-Coupling?depth=2"
{"claim_ids": [...]}curl "https://askchem.org/api/sources/10.1038/s41586-024-00001-1"
{"doi": "...", "name": "...", "email": "..."}{"claim_id": "...", "flag_type": "wrong_claim|wrong_classification|...", "comment": "..."}{
"claim_id": "a1b2c3...",
"claim_type": "experimental_result",
"title": "Ni SA-N2-C achieves 98% FECO",
"verbatim_quote": "The Ni SA-N2-C catalyst exhibited...",
"source_doi": "10.1002/anie.201914977",
"source_paper_title": "Single-Atom Nickel...",
"confidence": "high",
"extraction_model": "gpt-5.4",
"extraction_version": "deep_v1",
"view_paths": {
"by_reaction_type": "Electrocatalysis/CO2 Reduction",
"by_substance_class": "Single-Atom Catalysts/Ni-based",
"by_technique": "Electrochemistry/Linear Sweep Voltammetry"
}
}
{
"name": "Cross-Coupling",
"path": "Cross-Coupling",
"view_id": "by_reaction_type",
"total_claims": 12450,
"children": [
{"name": "Suzuki-Miyaura", "path": "Cross-Coupling/Suzuki-Miyaura", "total_claims": 4230},
{"name": "Heck", "path": "Cross-Coupling/Heck", "total_claims": 2180}
]
}
Full Swagger UI with try-it-out: /api/docs
import requests
# Search for claims
r = requests.get("https://askchem.org/api/search", params={"q": "suzuki coupling", "limit": 10})
claims = r.json()["results"]
# Browse the hierarchy
r = requests.get("https://askchem.org/api/tree/by_reaction_type?depth=2")
tree = r.json()["tree"]
# Submit a new paper
r = requests.post("https://askchem.org/api/submit", json={"doi": "10.1038/..."})
print(r.json()["submission_id"])
Let your AI coding assistant (Cursor, Claude, Copilot, etc.) use AskChem as a structured chemistry knowledge source. Full endpoint reference in Docs.
Copy this into your terminal and see structured chemistry claims:
curl -s "https://askchem.org/api/search?q=suzuki+coupling&limit=2" | python -m json.tool
{
"results": [
{
"claim_id": "...",
"claim_type": "experimental_result",
"title": "Pd-PEPPSI-IPent catalyzes Suzuki coupling of aryl chlorides at room temperature",
"source_doi": "10.1021/ja...",
"verbatim_quote": "The Pd-PEPPSI-IPent catalyst system...",
"view_paths": {"by_reaction_type": "Cross-Coupling/Suzuki-Miyaura", ...}
}
],
"total": 4230, "query": "suzuki coupling"
}
Paste this into your agent's chat to integrate AskChem:
AGENTS.mdPut this in your project root so tools that read AGENTS.md pick up AskChem automatically.
For MCP-compatible clients (Claude Desktop, Cursor, etc.), run the built-in MCP server:
python -m chemtree.mcp_server
This exposes AskChem tools (search, browse, get claim) directly in your agent's tool palette — no HTTP calls needed.
claude_desktop_config.json){
"mcpServers": {
"askchem": {
"command": "python",
"args": ["-m", "chemtree.mcp_server"],
"env": {}
}
}
}
.cursor/mcp.json){
"mcpServers": {
"askchem": {
"command": "python",
"args": ["-m", "chemtree.mcp_server"]
}
}
}
Wire AskChem as a tool in your OpenAI function-calling pipeline:
{
"type": "function",
"function": {
"name": "search_chemistry_claims",
"description": "Search AskChem for source-grounded chemistry claims with verified DOIs",
"parameters": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "Chemistry search query"},
"limit": {"type": "integer", "default": 10}
},
"required": ["query"]
}
}
}