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)
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)