Skip to main content

Basic Usage

Retrieve your data using the SDK’s built-in methods.
const result = await client.extraction.run({
  urls: ["https://sandbox.kadoa.com/ecommerce"],
  name: "Product Extraction",
});

// Data is included in the result
console.log(result.data); // Array of extracted items
console.log(result.pagination); // { page, limit, total, totalPages }
from kadoa_sdk import ExtractionOptions

result = client.extraction.run(
    ExtractionOptions(
        urls=["https://sandbox.kadoa.com/ecommerce"],
        name="Product Extraction",
    )
)

# Data is included in the result
print(result.data)  # Array of extracted items
print(result.pagination)  # { page, limit, totalCount, totalPages }

Fetch Data

If you have an existing workflow, you can fetch its data directly using the workflow ID:
// Simplest way to fetch workflow data
const data = await client.extraction.fetchData({
  workflowId: workflowId,
});
console.log(data.data);
from kadoa_sdk import FetchDataOptions

# Simplest way to fetch workflow data
data = client.extraction.fetch_data(FetchDataOptions(workflow_id=workflow_id))
print(data.data)
For more control, you can specify all available options:
const data = await client.extraction.fetchData({
  workflowId: workflowId,
  page: 1,
  limit: 10,
});

console.log(data.data); // Array of extracted items
console.log(data.pagination); // { page, limit, total, totalPages }
from kadoa_sdk import FetchDataOptions

data = client.extraction.fetch_data(
    FetchDataOptions(
        workflow_id=workflow_id,
        page=1,
        limit=10,
    )
)

print(data.data)
print(data.pagination)

Pagination

Handle large datasets efficiently using the SDK’s pagination methods:
// Option 1: Iterate page by page
for await (const page of client.extraction.fetchDataPages({
  workflowId: workflowId,
})) {
  console.log("Page data:", page.data);
  console.log("Page number:", page.pagination.page);
}

// Option 2: Get everything at once
const allData = await client.extraction.fetchAllData({
  workflowId: workflowId,
});
console.log("All data:", allData);
from kadoa_sdk import FetchDataOptions

# Option 1: Iterate page by page
async def iterate_pages() -> None:
    async for page in client.extraction.fetch_data_pages(
        FetchDataOptions(workflow_id=workflow_id)
    ):
        print("Page data:", page.data)
        if page.pagination:
            print("Page number:", page.pagination.page)

asyncio.run(iterate_pages())

# Option 2: Get everything at once
all_data = client.extraction.fetch_all_data(FetchDataOptions(workflow_id=workflow_id))
print("All data:", all_data)

Response Format

Data returned by the SDK follows this structure:
{
  data: [
    {
      // Your extracted fields
      title: "Product Name",
      price: "$99.99",
      inStock: true
    }
  ],
  pagination: {
    page: 1,
    limit: 50,
    total: 150,
    totalPages: 3
  }
}
response_format = {
    "data": [
        {
            "title": "Product Name",
            "price": "$99.99",
            "inStock": True,
        }
    ],
    "pagination": {"page": 1, "limit": 50, "total": 150, "totalPages": 3},
}
print(response_format)