MH MediaHarvester Web Context API

Products

Product Extraction

Turn a product page into a normalized record that can be compared, monitored or imported without writing retailer-specific selectors for every field.

POST /v1/brand/ai/products

What you get

Developer-ready output for Product Extraction

01 Product page detection
02 Name, price and currency
03 Images and availability
04 Catalog candidates

Real workflows

Where teams use Product Extraction

These examples map to the endpoint's current inputs and outputs—not hypothetical platform features.

Build a competitor product table

Collect name, price, availability and image signals from known product pages for side-by-side research.

OutcomeComparable records instead of copied page text.
Monitor catalog changes

Re-run product extraction for selected URLs and detect price or availability changes over time.

OutcomeA structured input for alerting and analysis.
Seed a product migration

Use structured product and image data as a starting point when moving or auditing catalog content.

OutcomeLess manual copying during catalog operations.

How it works

4 concrete steps from input to result

1

Send product URL or domain

2

Parse structured product data

3

Fallback to page extraction

4

Return normalized products

API response

Fields developers usually wire first

Extract product identity, price, currency, availability, images and structured product signals from ecommerce pages and catalogs.

product.name product.price product.currency product.images[]
curl.exe -H "X-API-Key: YOUR_API_KEY" "http://127.0.0.1:8013/v1/brand/ai/products"

Developer FAQ

Common questions about Product Extraction

12 answers
Does it use JSON-LD product data?

Yes. Structured data is preferred when available because it is usually cleaner than visible page text.

Can it extract multiple products?

Use the products endpoint with maxProducts for collection pages or catalog discovery.

Can I use this for price monitoring?

Yes. Store product URL, price, currency and availability snapshots and compare them over time.

What endpoint should I call for Product Extraction?

Use POST /v1/brand/ai/products. Local development accepts the X-API-Key header with YOUR_API_KEY, and production clients can use the same shape with their own key.

Can I call it from CLI, SDK, MCP and no-code tools?

Yes. The same endpoint can be called with curl, the TypeScript SDK, Python SDK, MCP server, Zapier, Make, n8n, Google Sheets or Excel workflows where appropriate.

How does caching with maxAgeMs work?

When maxAgeMs is supported, a cached response can be reused if it is younger than the requested freshness window. Set maxAgeMs to 0 when you need a fresh scrape or extraction.

What happens when a page is blocked or requires login?

The API returns clear states such as blocked, verification_required, login_required, robots_disallowed or permission_required. It does not promise to bypass access controls.

Which response fields should I store?

Most integrations store product.name, product.price, product.currency, product.images[], plus source URL, status, confidence and timestamp fields when present. Keep source metadata so users can audit values later.

Can I batch this endpoint?

For local or small workflows, loop over a list of URLs or domains. For larger jobs, use crawl, batch workflow endpoints or a queue so failures and retries are tracked cleanly.

How should I handle errors in production?

Check success, HTTP status, error.type and retryable flags. Retry timeouts and temporary network failures, but do not retry robots, login or permission errors without changing input or authorization.

Does the API work with JavaScript-heavy sites?

The engine router starts with fast fetching and escalates when content quality is low. Browser-style rendering is used where available, while access-control barriers are reported explicitly.

Is this safe to use with customer data?

Send only domains, URLs or fields your workflow needs. Use retention controls for generated artifacts and avoid storing unnecessary raw HTML, screenshots or extracted personal data.

Related data APIs

Build the next step in the workflow