Define the smallest useful schema
Start a product page entry with the title, price, and a stable identifier or URL. Before marking a field as required, decide if missing data is acceptable. Maintain clarity on currency and units within your downstream model; for instance, 19.99 alone is not a full monetary value.
Use multiple for scalar lists. For repeated records use an object collection with multiple true and scalar child fields. Do not create nested object collections or duplicate names within the same level.
Submit and inspect both states
Pass extraction.fields or an owned active extraction.recipe_id in an individual request. Preserve the request ID and idempotency key. Wait for page completion, retrieve the result, then inspect data and the extraction run state.
Data API batches accept raw scrape jobs, so a structured-extraction queue should submit individual requests under the account's current concurrency limits. Do not silently convert an extraction workload into a raw batch.
- Validate required fields and scalar types.
- Check that records belong to the requested page and are not navigation or recommendations.
- Check units, currency context, duplicates, and unexpectedly empty collections.
- Quarantine invalid records with their request IDs instead of overwriting known-good data.
Reuse a recipe without losing validation
Once a schema works on representative pages, reuse the recipe for the same task. Include empty pages and layout variants in your sample, not just a single successful URL.
Keep an eye on shifts in missing fields and record totals. A modified target may still serve a valid page but generate inaccurate data. Retain adequate request context to troubleshoot the extraction without disclosing private results or credentials.