Skip to main content
The REST API gives you complete control over when and how you retrieve your extracted data. Perfect for batch processing, scheduled jobs, or on-demand access.

Basic Usage

Get Latest Data

Retrieve the most recent data from a workflow: View full API reference →
GET https://api.kadoa.com/v4/workflows/{workflowId}/data
{
  "data": [
    {
      "id": "123",
      "title": "Product Name",
      "price": 99.99,
      "extractedAt": "2024-01-15T10:30:00Z"
    }
  ],
  "metadata": {
    "workflowId": "workflow-123",
    "runId": "run-456",
    "totalRecords": 150,
    "hasMore": false
  }
}

Pagination and Filtering

Handle Large Datasets

Use pagination for efficient data retrieval:
GET https://api.kadoa.com/v4/workflows/{workflowId}/data?limit=100&offset=0

Filtering Options

Target specific data with query parameters:
  • Date Range: ?startDate=2024-01-01&endDate=2024-01-31
  • Status Filter: ?status=success
  • Changes Only: ?changesOnly=true
  • Fields: ?fields=title,price,extractedAt

Example with Filters

GET https://api.kadoa.com/v4/workflows/{workflowId}/data?startDate=2024-01-01&changesOnly=true&limit=50

Data Formats

JSON (Default)

Standard JSON format, perfect for modern applications:
{
  "data": [...],
  "metadata": {...}
}

CSV Format

Add Accept: text/csv header for CSV output:
// GET /v4/workflows/{workflowId}/data
// Headers: Accept: text/csv, x-api-key: YOUR_API_KEY

Parquet Download

Download the complete dataset for a workflow run as a typed Parquet file: View full API reference →
GET https://api.kadoa.com/v4/workflows/{workflowId}/data/parquet
Use Parquet when you want to load Kadoa output directly into analytical tools such as DuckDB, Spark, Polars, Snowflake, BigQuery, or pandas. The endpoint returns the full, unfiltered dataset for the latest successful run. Pass runId to download a specific historical run:
curl -L "https://api.kadoa.com/v4/workflows/{workflowId}/data/parquet?runId={runId}" \
  -H "x-api-key: YOUR_API_KEY" \
  -o workflow-data.parquet
The response uses Content-Type: application/vnd.apache.parquet and Content-Disposition: attachment. Unlike the JSON and CSV data endpoint, Parquet downloads do not support pagination, filtering, sorting, or field selection. If you need a subset, download the file and filter it in your warehouse or query engine. Typed columns are preserved where the workflow schema provides native types, including booleans, numbers, dates, timestamps, JSON-compatible objects, and arrays. Older workflow runs may still reflect the type information available when that run was produced.

Error Handling

Common HTTP Status Codes

CodeMeaningAction
200SuccessProcess data normally
400Bad RequestCheck query parameters
401UnauthorizedVerify API key
404Not FoundCheck workflow ID
429Rate LimitedWait and retry
500Server ErrorContact support

API Reference

For complete API documentation, see: