Guides
Working with Captures
A capture is a single extracted data record. Each run produces one capture per successfully extracted URL.
Fetching captures
List captures from a specific run:
curl -s "https://api.extralt.com/captures?runId=$RUN_ID" \
-H "Authorization: Bearer $EXTRALT_API_KEY" | jqCapture structure
Each capture contains:
| Field | Description |
|---|---|
_id | Unique capture identifier |
url | The source URL that was extracted |
data | Extracted product data (base fields + optional details) |
robotId | The robot that extracted it |
runId | The run that produced it |
Example capture
{
"_id": "cap_abc123",
"url": "https://example-store.com/products/sneakers",
"data": {
"title": "Air Max 90",
"brand": "Nike",
"description": "Classic sneaker with visible Air cushioning.",
"images": [
"https://example-store.com/images/am90-1.jpg",
"https://example-store.com/images/am90-2.jpg"
],
"identifiers": {
"gtin": "1234567890123",
"mpn": "DN3707-100"
},
"variants": [
{
"option_values": ["10", "White"],
"sku": "AM90-WHT-10",
"price": { "amount": 130, "currency": "USD" },
"availability": "in_stock"
},
{
"option_values": ["11", "White"],
"sku": "AM90-WHT-11",
"price": { "amount": 130, "currency": "USD" },
"availability": "out_of_stock"
}
],
}
}Filtering
You can filter captures by run:
GET /captures?runId=your-run-idPagination
When a run produces many captures, results are paginated. See Common Patterns for pagination handling.
Bulk download
For large datasets, use the run download endpoint instead of paginating through individual captures. It returns a compressed .jsonl.lz4 file with all captures from the run.
See Running Extractions for download details.
What's next
- Running Extractions -- bulk download via signed URL
- Common Patterns -- pagination and error handling
- API Reference -- full captures endpoints