Skip to main content
Get your extracted data on demand. Download a file in the dashboard, fetch rows with the SDK or REST API, or ask your AI tool. To deliver every run to Amazon S3, Snowflake, or another destination automatically, see Destinations.

Before you begin

For the SDK and REST API, you need a team API key.

View data in the dashboard

All extracted data is available in your Kadoa Dashboard.
  1. Open your workflow.
  2. Browse records in the table view.
  3. Filter and sort to find specific items.
To query the data with SQL or a plain-English question, use the Data Explorer.

Download the latest run

  1. Open your workflow in the Kadoa Dashboard.
  2. Select the download icon at the top right. The menu reads “Get data from the latest published run”.
  3. Select a format:
    • CSV: table rows for spreadsheets.
    • JSON: your data plus metadata (workflowId, runId, executedAt). See the JSON download format.
If the download icon is disabled, the first run has not finished or the run has no data. Hover over the icon to see which.You can also download from the Download row in the Deliver tab of the Pipeline panel.

Fetch data from code

Fetch the data of an existing workflow by its ID:
To choose the page and page size, pass more options:
If you create and run a workflow with extraction.run, the result already includes the data:
With the REST API, the data endpoint returns the most recent data of a workflow. See the Get workflow data by ID reference.
The response format section shows what comes back.

Page through large runs

The SDK can iterate page by page or fetch every row at once:
With the REST API, set page and limit:
limit defaults to 25 rows. Set limit=0 to stream all rows without paging.The total row count is pagination.totalCount. The response has no hasMore flag. To check whether more pages exist, compare pagination.page < pagination.totalPages.

Get a specific run

  1. Open your workflow.
  2. Select the History tab, then Runs.
  3. Select the run you want.
  4. Select the download icon at the top right. The menu reads “Get data from the selected run”.
  5. Select CSV or JSON.

Filter and sort rows

Pass a URL-encoded JSON array to filters. Each entry specifies a field, an operator, and a value:
Sort with sortBy and order. The filter operators and query parameters sections list every option.

Export a Parquet file

This task uses the REST API. Create a signed URL for workflow data as a typed Parquet file. See the Create workflow data export reference.
Use Parquet to load Kadoa output directly into analytical tools such as DuckDB, Spark, Polars, Snowflake, BigQuery, or pandas. The export endpoint materializes the requested result set and returns a signed url. Pass runId to export a specific historical run:
Filtering, sorting, and row selection use the same query parameters as CSV and JSON exports. To stream the complete run artifact directly, use GET /v4/workflows/{workflowId}/data/parquet. The file keeps typed columns where the workflow schema provides native types. These include booleans, numbers, dates, timestamps, JSON-compatible objects, and arrays. Older runs may still reflect the type information available when that run was produced.

See where data is delivered

This task uses the dashboard. If your team has data destinations, the download menu also lists the destinations that receive this workflow’s results after every run, with provider and target. The download menu with CSV and JSON buttons, a Copy endpoint URL button, and two destinations, an S3 bucket and a Snowflake table, synced after every run The Deliver tab of the Pipeline panel shows the same destinations with their file formats. Select Add there to request a new destination, such as Snowflake, Databricks, Amazon S3, Google Cloud Storage, or SFTP.

Query parameters

These parameters apply to GET /v4/workflows/{workflowId}/data.

Filter operators

Response format

REST API

The data endpoint returns JSON by default:
Response
If your workflow schema marks one or more fields as key fields (isKey: true), Kadoa deduplicates the results. You get at most one record per unique key combination. Key fields should be scalar STRING, NUMBER, or LINK fields. Kadoa treats records with a missing or empty key field as distinct and does not merge them.

JSON download

A JSON file downloaded from the dashboard has this structure:

SDK

Data returned by the SDK follows this structure:

Status codes