Skip to content

Documentation

Site fields and request parameters

Declared references such as site_id, script_id, version_id, and agent_id accept numbers, UUIDs, or short forms. Numeric examples below use v1 without selecting UUIDs. Cursors and record keys retain their format. Details.

Site settings

Create a site with POST /api/v1/sites; update it with PATCH /api/v1/sites/{id}. PATCH changes only fields you send.

Field Meaning
name, base_url Name up to 255 characters and full site URL
code Optional at creation; generated if omitted, unique in a workspace, immutable afterward
is_active Whether the source is active
render_mode http or browser
respect_robots Whether to respect robots.txt; boolean
rps, burst 1–50 requests per second and burst size 1–100
concurrency 1–20 concurrent requests; the rate limit still applies
min_delay_ms, jitter_ms Minimum and random delays, 0–60,000 ms
timeout_ms Request timeout, 1,000–180,000 ms
retry_attempts HTTP request attempts, 1–10
cache_ttl_seconds Cache lifetime, 0–2,592,000 seconds
browser_wait_selector Selector of an element to wait for
browser_wait_ms Additional wait, 0–60,000 ms
escalate_to_browser Allow HTTP to fall back to browser mode
max_run_seconds Run limit, 10–172,800 seconds, or null
execution_target, agent_id internal or agent; the agent requires an accessible ID
proxy_pool_id A pool in the current workspace, or null
params Scenario parameters object

These technical ranges do not expand your plan. The platform also checks available resources.

Complete field schema

First read GET /sites/{id}/fields. Its response includes items and current types and transforms dictionaries.

PUT /sites/{id}/fields replaces the entire list. Fields absent from the request are removed. Do not send just the one changed field if you need to keep the others.

{
  "items": [
    {"code":"sku","name":"SKU","type":"string_numeric","is_key":true,"is_required":true},
    {"code":"name","name":"Name","type":"string","is_required":true},
    {"code":"price","name":"Price","type":"decimal"}
  ]
}

You can define up to 200 fields. A code starts with a Latin letter and contains only lowercase Latin letters, digits, and _. is_key helps identify a record; is_required requires a value. Keep SKUs with leading zeroes as strings, not integers.

Types include string, string_numeric, integer, decimal, boolean, date, datetime, url, enum, json, and collection. Optional fields include rules, transforms, default_value, and description. The server checks whether a type may be used as a key.

Test a single value with POST /sites/{id}/fields/preview, for example {"value":" Product ","transforms":["trim"]}. Obtain valid transforms from the dictionary rather than guessing them.

Read records and logs

GET /sites/{id}/records accepts search, since, include_deleted, cursor, and limit. The response gives next_cursor to continue. Search matches the record key. Read one record's history through /records/{key}?history=20.

For run logs, use /runs/{id}/log?after=123&limit=100, where after is the numeric cursor returned by the previous response. In UUID mode a row ID becomes a UUID, while its continuation cursor remains numeric. Filter by level if needed. The HTTP log is /runs/{id}/http-log?after=123. Download a snapshot with /api/v1/sites/{site}/artifacts/{uuid}; interface links may use a path without the version prefix.

Product photos

Record schemas support image for a primary photo and gallery for up to 50 photos. A scenario emits a URL or URL list. A production run stores the image files and replaces source values with private references, dimensions, and MIME type. Trial runs do not upload files.

Ready-made Wildberries scenarios provide main_image and gallery. Both can be shown as table columns and opened in the shared zoomable gallery. Site settings select Akmelo storage or an S3 connection belonging to the same workspace. Personal scenarios cannot use another team’s storage. A self-hosted agent stores photos locally by default.

CAPTCHA

CAPTCHA setup and API: automatic handling, opt-out, site hints, agents and verification. User guide and prices.

Explicit tasks created by ctx.captcha() use the same workspace allowance, spending limits and balance. Catalog lookups and quotes do not create a task. The current price catalog includes explicit task types as well as browser-handled types; catalog availability does not enable automatic browser handling. Explicit API.