What marketplaces do you support?
10 built-in presets in src/presets/builtin/ covering the biggest data sources: amazon_product (us, uk, de, fr, jp), amazon_search (us, uk, de), ebay_search (us, uk, de), walmart_product (us), google_search (us, uk, de, fr, ru, jp), google_shopping (us, uk, de), bing_search (us, uk, de, fr, ru, jp), yandex_search (us, uk, de, fr, ru, jp), youtube_video (global), linkedin_profile (global, requires session_id). Need something else? Use POST /api/v1/presets/generate with a sample URL — an LLM infers the schema and generates selectors for you.
How stable is the schema?
Same field shape across regions and presets — amazon_product in .us, .uk, .de, .fr, .jp all return the identical keys (currency localized, structure unchanged). Optional fields are explicitly nullable, so missing values never break your parser. When a marketplace changes layout, LLM self-heal regenerates the selector on the fly (pass llm: {model: "..."} in the request) — pipeline keeps running with a self_heal: true flag in the response. Breaking changes ship only in minor versions with migration notes in CHANGELOG.md.
Can I scrape Amazon / eBay / Walmart?
Yes — all three are first-class presets, no extra config. Amazon ships across 5 regional locales (us, uk, de, fr, jp) for product PDPs and search; eBay covers us/uk/de search; Walmart .us for product pages. Each returns the same JSON shape: title, price, currency, in_stock, rating, seller, plus marketplace-specific fields where they exist (ASIN, Buy Box winner, sponsored flag). For account-bound data behind login (Prime pricing, partner portals) use the Sessions API and pass session_id with the request.
How fast can I get first data?
Roughly 5 minutes end-to-end. git clone + docker compose up -d brings the scraper online in ~30 seconds (Docker pulls the image once). First curl POST /api/v1/scrape/preset/page returns structured JSON in 1–3 seconds for cached locales, up to 5–8 seconds cold. No signup, no API key creation, no SaaS metering — you hit the endpoint on localhost:8000 the moment the container is healthy.
Do you handle proxies and anti-bot?
Yes. The scraper integrates with the CyberYozh App Proxy via CYBERYOZH_API_KEY — 5 proxy types across 250 country codes (residential rotating / sticky, mobile 4G/5G, datacenter, ISP). Anti-bot is handled by a stealth Chromium build with warm fingerprint, matching residential proxy, and human-like timing — most flows avoid CAPTCHA entirely. When a CAPTCHA does appear, the scraper returns it as a structured error rather than solving silently. Rule of thumb: residential rotating for catalog-scale scraping, mobile for aggressive anti-bot zones or account-bound tasks.