Product Spec Table Extractor avatar

Product Spec Table Extractor

Pricing

from $6.50 / 1,000 product page scanneds

Go to Apify Store
Product Spec Table Extractor

Product Spec Table Extractor

Extract product specification tables, attribute lists, dimensions, compatibility data, materials, warnings, and download or manual links from product pages.

Pricing

from $6.50 / 1,000 product page scanneds

Rating

0.0

(0)

Developer

junipr

junipr

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 days ago

Last modified

Share

Extract product specification tables, attribute lists, dimensions, compatibility data, materials, warnings, and download/manual links from product pages.

What it does

Extracts product attributes from HTML specification tables, definition lists, and Product JSON-LD additionalProperty records, with normalization and provenance.

The actor emits one row per extracted product specification, or a no-spec diagnostic. Every dataset row uses the declared dataset schema, includes source provenance and a scan timestamp, and is written only after every applicable pay-per-event charge is accepted.

Typical uses

  • Extract product specification tables
  • Build catalog attribute exports
  • Find missing product specs
  • Collect product manual links
  • Normalize product dimensions and units

Input

Use public HTTP(S) URLs or deterministic htmlInputs. URL fetching rejects localhost, loopback, link-local, and private-network destinations. allowedDomains can further constrain live fetches.

  • startUrls
  • sitemapUrls
  • htmlInputs
  • allowedDomains
  • maxPages
  • maxDepth
  • includeEvidence
  • includeRawSnapshots
  • requestDelayMs
  • timeoutMs
  • userAgentMode
  • productUrls
  • attributeNameMap
  • includeDownloads
  • normalizeUnits
  • maxSpecRowsPerProduct
  • tableSelectors
  • maxProductPages
  • maxSpecRowsPerPage
  • maxTablesPerPage
  • maxChargeUsd
  • includeReport

The safety caps named in maxProductPages, maxSpecRowsPerPage, maxTablesPerPage, timeoutMs are enforced in addition to maxChargeUsd. A value of 0 for maxChargeUsd is a hard zero budget: the actor exits before the first paid operation.

Minimal deterministic example

{
"htmlInputs": [
{
"sourceUrl": "https://shop.example/public-page",
"html": "<html><head><title>Public page</title></head><body><h1>Public evidence</h1></body></html>"
}
],
"includeEvidence": true,
"includeReport": true,
"maxChargeUsd": 15
}

The prefilled input remains deliberately small so Apify automated quality runs finish quickly. For production use, replace the example source with public pages you are authorized to access.

Dataset output

  • sourceUrl
  • sourceType
  • pageTitle
  • recordType
  • recordName
  • issueCode
  • severity
  • evidenceSnippet
  • recommendation
  • canonicalUrl
  • httpStatus
  • scannedAt
  • productUrl
  • productName
  • attributeName
  • attributeValue
  • attributeGroup
  • normalizedValue
  • unit
  • downloadUrl
  • manualUrl
  • extractionConfidence
  • extractionSource
  • specIssue

Reports are also written to key-value storage:

  • product-spec-table-extractor-summary-report.md
  • product-spec-table-extractor-records.csv
  • product-spec-table-extractor-issues.json
  • product-spec-table-extractor-evidence-samples.json
  • product-spec-table-extractor-run-metadata.json

When includeRawSnapshots is true, bounded raw HTML snapshots are stored separately. Raw snapshots are off by default.

Pay-per-event pricing

Platform-usage pass-through is off. Prices are the locked fixed-inclusive values for this actor.

EventPriceMeaning
actor-start$0.01Actor Start
product-page-scanned$0.0065Product Page Scanned
spec-row-extracted$0.00295Spec Row Extracted
spec-table-issue-emitted$0.00295Spec Table Issue Emitted
audit-report-generated$0.08Audit Report Generated

Charging rules:

  • actor-start must be accepted before fetching or rendering begins.
  • Page/target events are deduplicated per source.
  • Record and finding events fire only when the corresponding output exists.
  • Report output is written only after the report event is accepted.
  • Partial charges and Apify charge-limit responses stop the run before additional paid output.
  • Store discounts are tracked as a separate Console configuration requirement; this source does not claim they are already applied.

Evidence and failure behavior

  • Each row identifies its extraction source and confidence.
  • Duplicate attributes are marked rather than silently discarded.
  • Unit normalization is conservative and preserves the raw value.

A fetch failure, browser failure, blocked page, missing record, or incomplete match produces a bounded diagnostic row when possible. It never invents a successful extraction. Evidence can be omitted with includeEvidence: false.

Local verification

pnpm --filter @junipr/product-spec-table-extractor build
pnpm --filter @junipr/product-spec-table-extractor test
pnpm --filter @junipr/product-spec-table-extractor smoke

The tests cover strong, weak, unavailable, comparison, and cap fixtures; schema equality; pricing metadata; accepted/partial/limited charges; zero budget; and report generation.

Limitations

  • Results reflect the public source at the scan time and may change later.
  • Site markup changes can require selector/parser maintenance.
  • The actor does not bypass authentication, CAPTCHAs, robots restrictions, or access controls.
  • Legal, tax, pricing, SEO, merchandising, and marketplace decisions remain the user's responsibility.