Product JSON-LD Normalizer — Offers, Prices & Variants
Pricing
$2.00 / 1,000 results
Product JSON-LD Normalizer — Offers, Prices & Variants
Normalize Product, ProductGroup, Offer, and AggregateOffer JSON-LD from one static product page.
Pricing
$2.00 / 1,000 results
Rating
0.0
(0)
Developer
Masatoshi Shimada
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
This Apify Actor fetches one public static HTML page and stores exactly one deterministic page result containing normalized Schema.org Product, ProductGroup, Offer, and AggregateOffer JSON-LD.
Input
{"url": "https://example.com/product/sku-1","timeoutSeconds": 15,"maxResponseBytes": 5242880,"maxRedirects": 3}
Only url is required. Unknown fields and non-public destinations are rejected. Every redirect is resolved and SSRF-checked again. The fetcher pins the connection to the checked IP and bounds both compressed and expanded bodies.
Output
A successful fetch pushes exactly one item to the default dataset, including pages with no Product or malformed JSON-LD. Missing values remain null or empty arrays. Prices are parsed without a binary float and emitted as non-exponent decimal strings. Every normalized node and finding includes a deterministic sourcePath.
Finding codes cover malformed JSON-LD, missing products and identifiers, absent or invalid offers, price/currency/availability problems, invalid aggregate ranges, ambiguous scalar fields, and unresolved references.
Supported scope
- One public HTTP(S) URL and static HTML only
application/ld+jsontop-level objects, arrays,@graph, and embeddedhasVariant- Product and ProductGroup nodes with embedded Offer or AggregateOffer
@typeas a string or array
The Actor does not render JavaScript, browse or crawl, use proxies, parse Microdata/RDFa, resolve external @id values, inherit group data into variants, validate live stock, or store raw HTML/JSON-LD. It needs no Secret, API key, paid API, browser, or external service.
Local verification
From this directory with the repository virtual environment available:
..\..\.venv\Scripts\python.exe -m unittest discover -s tests -v..\..\.venv\Scripts\python.exe -m ruff check .
For a local Actor run, put input in storage/key_value_stores/default/INPUT.json, expose only a local fixture through the test resolver or use an explicitly approved public page, and run apify run. Local tests use fixture HTTP only and cost ¥0.
Release boundary
Human Owner approved Product #2 Public release, Monetization, and $0.002 per successful apify-default-dataset-item on 2026-08-15. Platform activation remains pending candidate build and production verification; this Release Candidate source artifact alone is not a declaration that those settings are active. Paid cloud runs and external spending remain separate approval-gated actions.