Structured claims extracted from chemistry papers across 14 subfields. Every claim is source-grounded, hierarchically organized, and classified into 10 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 10 complementary views — 7 content taxonomies (reaction, substance, technique, application, mechanism, data, claim type), plus author, temporal, and cross-paper network 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. All keys on your account share one allowance.
If you received a key before creating an account, link it here so it uses your account allowance. Existing higher-tier access is preserved.
Review account usage and requested limits. Approved limits apply immediately to the account and its existing keys.
Transparent metrics on extraction quality, DOI verification, corpus coverage, and known limitations.
30 chemistry questions. CrossRef-verified DOIs. 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 | 100 requests/min · 5,000/day | None |
| Tier 1 API Key | 200 requests/min · 20,000/day | Authorization: Bearer ac-... |
| Tier 2 API Key | 500 requests/min · 100,000/day | Authorization: Bearer ac-... |
| Tier 3 API Key | 1,000 requests/min · 500,000/day | Authorization: Bearer ac-... |
Sign in and create an API key from Profile → API Keys (POST /api/me/api-keys, authenticated). New accounts start at Tier 1. Request Tier 2 or Tier 3 in the same tab for administrator approval. Limits are shared across all keys on your account, and approved changes apply to existing keys immediately. Previously granted higher-tier access is preserved.
Check your effective tier and limits with GET /api/usage and your Bearer key. Rate-limited API responses include x-ratelimit-limit-requests, x-ratelimit-remaining-requests, and x-ratelimit-reset-requests, plus corresponding -day headers for the daily quota.
| Code | Meaning |
|---|---|
200 | Success |
404 | Claim, author, or paper not found |
422 | Validation error (bad query params) |
429 | Rate limit exceeded. Retry after the number of seconds in Retry-After. |
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.
view restricts to claims tagged in that hierarchy; each claim carries view_paths so the client can group locally.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": "Inorganic Compounds/Metals/Nickel",
"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.
Use AskChem in Claude Code, Claude Desktop, or Cursor with just an API key — the standalone client talks to the public API. It requires Python 3.10+ and the MCP Python SDK, with support for both SDK 1.3+ and 2.x. Grab a key from your profile → API Keys.
curl -O https://askchem.org/static/askchem_mcp.py python -m pip install --upgrade "mcp>=2.3,<3"
Upgrading from MCP 1? Download the current askchem_mcp.py too, then restart your MCP client.
Set ASKCHEM_API_KEY in the configuration below to use your key's tier limits.
Download: askchem_mcp.py · tools: search, get_claim, source (by DOI), views, browse, authors, stats.
claude mcp add askchem --env ASKCHEM_API_KEY=ac-your-key -- python /path/to/askchem_mcp.py
claude_desktop_config.json){
"mcpServers": {
"askchem": {
"command": "python",
"args": ["/path/to/askchem_mcp.py"],
"env": { "ASKCHEM_API_KEY": "ac-your-key" }
}
}
}
.cursor/mcp.json){
"mcpServers": {
"askchem": {
"command": "python",
"args": ["/path/to/askchem_mcp.py"],
"env": { "ASKCHEM_API_KEY": "ac-your-key" }
}
}
}
Self-hosting the full index? Once the source is public you can instead run the in-repo server
python -m askchem.mcp_server (requires the local database).
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"]
}
}
}