Skip to main content

Kadoa SDK for Python

Official Python SDK for the Kadoa API, providing easy integration with Kadoa's web data extraction platform.

Installation

We recommend using uv, a fast and modern Python package manager:

uv add kadoa-sdk
# or
uv pip install kadoa-sdk

Alternatively, you can use traditional pip:

pip install kadoa-sdk

Requirements: Python 3.12 or higher

Quick Start

from kadoa_sdk import KadoaClient, KadoaClientConfig
from kadoa_sdk.extraction.types import ExtractionOptions

client = KadoaClient(
    KadoaClientConfig(
        api_key='your-api-key'
    )
)

# AI automatically detects and extracts data
result = client.extraction.run(
    ExtractionOptions(
        urls=['https://sandbox.kadoa.com/ecommerce'],
        name='My First Extraction'
    )
)

print(f"Extracted {len(result.data)} items")

That's it! With the SDK, data is automatically extracted. For more control, specify exactly what fields you want using the builder API.

Create a Workflow from a Template

Instantiate a workflow from a published template with template_id. urls is required; template_version optionally selects a published version. user_prompt adds workflow-specific instructions to the template prompt. Do not supply entity, fields, schema_id, or monitoring, because the template controls them.

from kadoa_sdk.workflows.workflows_core_service import CreateWorkflowInput

workflow = client.workflow.create(
    CreateWorkflowInput(
        urls=['https://example.com/products'],
        template_id='11111111-1111-4111-8111-111111111111',
        template_version=2,
        user_prompt='Only include products currently in stock.',
        name='In-stock products',
    )
)

print(workflow.id)

Data Quality Rules

Per-field rules run at the end of every workflow run. Set them for the fields you care about, and other fields keep their rules. Rules are plain dicts in the shape the API reference documents. Send editedAt as UTC ending in Z.

from datetime import datetime, timezone

workflow_id = "your-workflow-id"
edited = {
    "editedBy": "user",
    "editedAt": datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ"),
}

client.data_quality.upsert_rules(workflow_id, {
    "title": {"kind": "STRING", "presence": {"target": 100, **edited}},
    "price": {"kind": "NUMBER", "minimum": {"value": 0, **edited}},
})

rules = client.data_quality.get_rules(workflow_id)  # None when none
client.data_quality.delete_field_rules(workflow_id, "price")

Node.js-only APIs

Workflow Assistant, personal Inbox, and listWorkflowRuns are currently available only in the Node.js SDK. They are not exposed by this Python SDK. See Create Workflows from Templates for template lifecycle semantics.

Realtime WebSockets

realtime = await client.connect_realtime()
realtime.on_event(lambda event: print("Event:", event))
realtime.on_connection(
    lambda connected, reason=None: print("Connection:", connected, reason)
)

The SDK reconnects automatically when the realtime service drains a socket during deploys. When the server includes _cursor on events, the client resumes with lastCursor on the replacement subscribe and suppresses overlap duplicates by event["id"].

Documentation

For comprehensive documentation, examples, and API reference, visit:

Requirements

  • Python 3.12 or higher
  • Dependencies are automatically installed

Support

License

MIT

Metadata

Release files for kadoa_sdk 0.21.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kadoa_sdk 0.21.0
File Size Uploaded Provenance Actions
kadoa_sdk-0.21.0.tar.gz 393.5 kB Without provenance Details for kadoa_sdk-0.21.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for kadoa_sdk 0.21.0
File Interpreter ABI Platform Actions
kadoa_sdk-0.21.0-py3-none-any.whl Python 3 none any Details for kadoa_sdk-0.21.0-py3-none-any.whl

Total release size: 1.7 MB

Release files / kadoa_sdk-0.21.0.tar.gz

Download URL kadoa_sdk-0.21.0.tar.gz
Size 393.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f36244770fda7a4e5d75bb4e91db67711264b339c0935fa734382d7064702636
BLAKE2b-256 checksum
How to use checksums
cb0eed90c425e0fe261b8aaec27cbf42bd3ab0b539b0ab37ed57881f467a6373
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / kadoa_sdk-0.21.0-py3-none-any.whl

Download URL kadoa_sdk-0.21.0-py3-none-any.whl
Size 1.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
598f0c0916e72363fee547f62eb47e99ddd1a7b23b2767013aac34e765d02036
BLAKE2b-256 checksum
How to use checksums
78485290ab91a1b3e6cf6cf91d375ac7256ab6b6c26fd320d9a83a8bd86a1a92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for kadoa_sdk 0.21.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.21.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page