API Reference
Build with Matproof
Integrate materials analysis directly into your applications, notebooks, and workflows.
Quick Start
Get started with the Matproof API in minutes
1
2
Make your first request
Use your preferred language or tool to call the API.
curl -X POST https://api.matproof.com/v1/analyze \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"formula": "LiFePO4"}'3
Parse the response
The API returns a structured JSON response with all analysis data.
{
"formula": "LiFePO4",
"normalized_formula": "LiFePO4",
"composite_score": 93,
"composite_label": "excellent",
"analysis": {
"cost": {
"total_usd_per_kg": 3.79,
"confidence": "high",
"breakdown": {
"Li": { "cost_usd_per_kg": 0.42, "mass_fraction": 0.044 },
"Fe": { "cost_usd_per_kg": 0.03, "mass_fraction": 0.354 },
"P": { "cost_usd_per_kg": 0.08, "mass_fraction": 0.196 },
"O": { "cost_usd_per_kg": 0.00, "mass_fraction": 0.406 }
}
},
"stability": {
"label": "stable",
"energy_above_hull": 0.0,
"source": "materials_project",
"material_id": "mp-19017"
},
"risk": {
"score": 15,
"label": "low",
"flags": []
},
"synthesis": {
"score": 87,
"label": "easy",
"recommended_methods": [
{
"id": "solid_state",
"name": "Solid State",
"temp_range": [600, 800],
"scalability": "high"
}
]
}
},
"processing_time_ms": 234,
"cached": false
}Endpoints
POST
/v1/analyzeAnalyze a single chemical formula
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| formula | string | Required | Chemical formula to analyze (e.g., "LiFePO4") |
POST
/v1/batchAnalyze multiple formulas in one request
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| formulas | string[] | Required | Array of chemical formulas (max 100) |
GET
/v1/data-sourcesGet information about available data sources
GET
/v1/healthCheck API health status
Rate Limits
| Plan | Requests/minute | Monthly quota |
|---|---|---|
| Free | 10 | 100 |
| Pro | 60 | 2,000 |
| Enterprise | Custom | Unlimited |
Authentication
All API requests must include your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEYKeep your API key secret. Do not share it in client-side code or public repositories. You can regenerate your key at any time from your dashboard.