Core APIs
Extract
Pass a URL and a JSON schema, get back typed data. Ilmenite fetches the page, runs an LLM against the markdown representation using your schema as a strict constraint, and returns parsed output.
Endpoint
POST https://api.ilmenite.dev/v1/extractRequest body
url(string, required) — URL to extract from.schema(object, required) — JSON Schema describing the output.instructions(string, optional) — extra guidance for the extractor.model(string, optional) —fast(default) oraccurate.
Example
curl -X POST https://api.ilmenite.dev/v1/extract \
-H "Authorization: Bearer $ILMENITE_API_KEY" \
-d '{
"url": "https://www.apple.com/shop/buy-iphone/iphone-16-pro",
"schema": {
"type": "object",
"properties": {
"model": { "type": "string" },
"starting_price_usd": { "type": "number" },
"storage_options_gb": {
"type": "array",
"items": { "type": "number" }
},
"colors": { "type": "array", "items": { "type": "string" } }
},
"required": ["model", "starting_price_usd"]
}
}'Response
{
"url": "https://www.apple.com/shop/buy-iphone/iphone-16-pro",
"data": {
"model": "iPhone 16 Pro",
"starting_price_usd": 999,
"storage_options_gb": [128, 256, 512, 1024],
"colors": ["Desert Titanium", "Natural Titanium", "White Titanium", "Black Titanium"]
},
"confidence": 0.97,
"latency_ms": 1420
}Schema support
Standard JSON Schema draft 2020-12 features:
- Primitives:
string,number,boolean,null - Containers:
object,array - Constraints:
enum,minimum/maximum,pattern,format - Composition:
anyOf,oneOf
Confidence
Every response includes confidence(0–1). Values under 0.6 usually mean the page didn't actually contain the data you asked for. Treat low-confidence rows as unverified.