Skip to main content
GET
https://api.getcatalog.ai
/
v2
/
extract
/
{execution_id}
# Check execution status (urls input)
curl -X GET "https://api.getcatalog.ai/v2/extract/extract-urls-965b1912-6af0-4ed8-b7e3-184b85e788b7" \
  -H "x-api-key: $CATALOG_API_KEY"

# Check execution status (vendor input)
curl -X GET "https://api.getcatalog.ai/v2/extract/extract-nike-com-51d87084" \
  -H "x-api-key: $CATALOG_API_KEY"

# Get results with pagination
curl -X GET "https://api.getcatalog.ai/v2/extract/extract-urls-965b1912-6af0-4ed8-b7e3-184b85e788b7?page=1&page_size=50" \
  -H "x-api-key: $CATALOG_API_KEY"
{
  "execution_id": "extract-nike-com-51d87084",
  "status": "pending",
  "error": null,
  "meta": {
    "progress": null,
    "start_date": null,
    "stop_date": null,
    "duration_ms": null,
    "waiting_for": "crawl-nike-com-7f42-402f"
  }
}
When to use: After starting an extraction job with the POST endpoint, use this endpoint to:
  • Check if processing is complete
  • Monitor real-time progress
  • Retrieve paginated results when processing completes
  • Check if extraction is waiting for a crawl to complete

Request

x-api-key
string
required
Your API key for authentication
execution_id
string
required
The execution ID returned from POST /v2/extract

Query Parameters

page
number
default:"1"
Page number for paginated results (only applicable when status is “completed”)Minimum: 1
page_size
number
default:"50"
Number of results per page (only applicable when status is “completed”)Maximum: 100 Default: 50

Response

execution_id
string
The execution identifier
status
string
Current execution statusPossible values:
  • "pending" - Execution has been created but not yet started (may be waiting for crawl)
  • "running" - Execution is currently processing
  • "completed" - Execution finished successfully
  • "failed" - Execution failed or was aborted
error
string | null
Error message (always present, null if execution is successful or still running)Note: Error messages are sanitized for security. For vendor-based extractions waiting for a crawl, if the crawl fails, the error will be: “The crawl this extraction was waiting for failed or was canceled”
data
array
Array of product results (only present when status is “completed” and results are available)
pagination
object
Pagination information (only present when status is “completed” and results are available)
meta
object
Response metadata
# Check execution status (urls input)
curl -X GET "https://api.getcatalog.ai/v2/extract/extract-urls-965b1912-6af0-4ed8-b7e3-184b85e788b7" \
  -H "x-api-key: $CATALOG_API_KEY"

# Check execution status (vendor input)
curl -X GET "https://api.getcatalog.ai/v2/extract/extract-nike-com-51d87084" \
  -H "x-api-key: $CATALOG_API_KEY"

# Get results with pagination
curl -X GET "https://api.getcatalog.ai/v2/extract/extract-urls-965b1912-6af0-4ed8-b7e3-184b85e788b7?page=1&page_size=50" \
  -H "x-api-key: $CATALOG_API_KEY"
{
  "execution_id": "extract-nike-com-51d87084",
  "status": "pending",
  "error": null,
  "meta": {
    "progress": null,
    "start_date": null,
    "stop_date": null,
    "duration_ms": null,
    "waiting_for": "crawl-nike-com-7f42-402f"
  }
}

Polling Strategy

For best results when waiting for completion:
  1. Initial Poll: Check status immediately after receiving execution_id
  2. Handle Pending with Waiting For: If status is "pending" with waiting_for in meta, the extraction is waiting for a crawl. Poll less frequently (every 30-60 seconds) until the crawl completes.
  3. Polling Interval: Wait 5-10 seconds between polls for running executions
  4. Exponential Backoff: Consider increasing wait time for long-running jobs
  5. Timeout: Set a maximum wait time based on your batch size and whether you’re waiting for a crawl