Commerce
E-commerce Product Extraction
Extract product names, prices, currencies, availability, images and catalog candidates from e-commerce websites.
How it works
From input to useful output in three steps
POST /v1/brand/ai/products
Find product pages
Use JSON-LD, product URL patterns and catalog pages to locate product records.
POST /v1/brand/ai/products
Extract product fields
Return names, prices, currency, image URLs and availability in a consistent shape.
POST /v1/brand/ai/product
Check media and output
Use image scraping and file exports to verify product assets before migration.
GET /v1/web/scrape/images
Example workflow
Shop pages to product data
Product pages, collection pages and media assets that need normalization.
Product name, description, price, currency, availability, SKU and image candidates.
Catalog records for migration, price review or feed preparation.
{
"domain": "shop.example.com",
"maxProducts": 12
}
Built for
Teams that can use this immediately
Catalog migration
Challenge: Old stores have inconsistent product data.
Solution: Extract and normalize product fields.
Impact: Migration prep is faster.
Price monitoring
Challenge: Manual checks do not scale.
Solution: Track product pages and prices.
Impact: Changes are easier to review.
Feed builders
Challenge: Product assets are scattered.
Solution: Collect images and product fields together.
Impact: Cleaner feed inputs.
01
Build product datasets faster
Use product and products endpoints to normalize e-commerce pages into structured catalog records.
02
Support migration workflows
Extract product data and images for catalog import, feed generation or store migration audits.
03
Track price changes
Combine crawl and product extraction to follow price and availability changes over time.
Implementation FAQ
Questions teams ask before building E-commerce Product Extraction
What does E-commerce Product Extraction help me build?
It turns Product extraction API for catalogs, feeds and price monitoring. into a repeatable workflow. The first practical outcome is product names and prices.
Which API should I call first?
Start with POST /v1/brand/ai/products. The workflow section shows the supporting endpoints to add when you need more context, evidence or visual assets.
What input do I need from my user?
The smallest useful input is shown in the example workflow: Product pages, collection pages and media assets that need normalization. Ask only for the domain, URL, email, ticker or descriptor that the selected endpoint actually needs.
What should I store from the response?
Store the normalized result together with source URLs, confidence or access state, and the time it was fetched. This keeps later refreshes and human review explainable.
Can I use this from a backend, CLI or AI agent?
Yes. The REST endpoint, TypeScript and Python SDKs, CLI and MCP tools use the same local API contract. No-code templates are available for business workflows.
How do I keep the result current?
Use maxAgeMs where the endpoint supports it, or schedule the relevant crawl or workflow. Refresh facts that can change and cache stable assets such as logos more aggressively.
What happens when the website blocks access?
The API reports blocked, verification_required, login_required, robots_disallowed or permission_required instead of treating an empty page as a successful result.
How should I handle missing fields?
Keep the UI usable with optional fields, sensible placeholders and manual overrides. A missing logo, address or classification should not prevent the rest of the workflow from completing.
Who is this workflow designed for?
The examples focus on catalog migration, price monitoring, feed builders, but the API response is general enough to use in custom applications.
Can I review the result before publishing it?
Yes. Show extracted values, source URLs and generated visual previews in an approval step before changing customer-facing content or records.
Is batch processing supported?
Use the batch, crawl or workflow endpoint shown for the capability when available. For smaller integrations, process a controlled list and record individual failures rather than failing the whole job.
How do I try the complete example locally?
Open the linked playground from this page or call POST /v1/brand/ai/products at http://127.0.0.1:8013 with X-API-Key: mh-localhost-dev-key. The example payload on this page is ready to adapt.
Related use cases