ScraperFlyAI-ready Web Data API

use cases

Product Data Extraction API for public product pages

ScraperFly gives product, ecommerce, and catalog teams a reliable capture layer for public product pages. Return parser-friendly page evidence before downstream systems map fields, normalize products, match SKUs, and enrich catalogs.

Product evidence

Capture the product page before your catalog logic maps fields

Product data projects do not fail only because a parser missed a selector. They fail when the capture layer returns a partial page, a regional variant, a blocked response, an empty JavaScript shell, or a visual state that nobody checked before scaling. ScraperFly gives product, ecommerce, and data teams a cleaner first step: capture the public product page in the format your downstream system can actually inspect.

Use source HTML when the page already contains the useful fields, rendered HTML when client-side code builds the final product state, text or Markdown when humans and AI workflows need readable content, JSON metadata when request evidence matters, and screenshots or PDFs when QA needs visual proof. Your catalog logic still owns field mapping, normalization, SKU matching, deduplication, and taxonomy decisions.

product fieldsvariantssource proof
Catalog team reviewing captured public product page evidence before mapping product fields

What is a product data extraction API?

A product data extraction API is a request layer for capturing public product pages so another system can turn page evidence into structured product records. The capture step may return raw HTML, rendered HTML, clean text, Markdown, response metadata, screenshots, or PDFs. The downstream extraction step then maps that evidence into titles, brands, SKUs, prices, availability, variants, images, descriptions, specifications, seller details, reviews, breadcrumbs, and category signals.

This distinction matters. ScraperFly is not positioned here as a magic product catalog normalizer. It gives your pipeline the page-level evidence needed to build reliable extraction rules and review failures. That is often the missing layer between a brittle scraper and a maintainable product data workflow.

Practical takeaway: treat ScraperFly as the capture and evidence layer, then let your product data system handle field mapping, normalization, and catalog rules.

Which product fields should teams capture?

Product pages rarely expose every field in one neat place. A title may be visible in markup, a price may be rendered after JavaScript, variants may sit inside embedded data, stock may depend on region, and image galleries may behave differently across templates. Before writing extraction logic, define which fields matter and which output gives the best evidence for each field group.

Field group Examples Why it matters Output to consider
Product identity Title, brand, SKU, model, GTIN, canonical URL These fields anchor matching, deduplication, enrichment, and catalog updates. HTML, rendered HTML, JSON metadata
Commercial state Price, currency, discount, stock, shipping, seller These fields often change by region, session, variant, or page template. Rendered HTML, screenshot, metadata
Variants Size, color, bundle, pack count, selected option Variant logic decides whether one URL represents one product or many records. HTML, rendered HTML, screenshot
Content Description, bullets, specifications, ingredients, dimensions Readable content feeds search, enrichment, comparison, and QA workflows. Markdown, text, HTML
Visual proof Image gallery, page layout, badges, visible price, availability label Human review needs proof when fields are disputed or visually presented. Screenshot, PDF

Why do product pages need source validation?

Product extraction becomes expensive when teams write parser rules before they understand the page source. A public product page can change by category, marketplace seller, availability, cookie state, device layout, language, region, or frontend framework. It can also return a 200 status with a partial page, a consent screen, a temporarily empty product shell, or a template that looks similar but stores the important fields somewhere else.

Source validation keeps that risk visible. Capture a representative set of product URLs before scaling. Compare raw and rendered output. Check final URL, content type, response size, and whether the target fields are present. If a field is missing, decide whether the capture is incomplete, the target variant is unavailable, the region changed, or the parser is looking in the wrong place.

That makes the next step practical instead of expensive. You can add JavaScript rendering only for product templates that need browser execution, keep simple pages on HTML scraping, and reserve visual files for QA rather than generating screenshots for every machine-only request.

How should teams choose the output format?

The right format depends on who consumes the product evidence. A selector-based parser needs structure. A content enrichment workflow may prefer Markdown. A QA analyst may need screenshots. A monitoring system may need metadata, final URLs, response size, and status evidence. Using one format for every product source usually creates extra cleanup work somewhere else in the pipeline.

Downstream need Best capture format Why it works Watch out for
Field extraction with selectors Raw or rendered HTML Preserves DOM structure, attributes, links, tables, and embedded data. Do not render if source HTML already has the fields.
Product descriptions and bullets Text or Markdown Reduces layout noise and gives readable content for review or AI workflows. May remove DOM relationships needed for precise extraction.
Request diagnostics JSON metadata Shows operational evidence such as status, final URL, content type, and response context. Metadata does not replace product-specific field extraction.
QA and visual confirmation Screenshot or PDF Preserves how the product page appeared for human review or audit records. Visual files are heavier and not ideal as parser inputs.
Catalog enrichment HTML plus Markdown or text Combines structured page evidence with readable copy for downstream processing. Keep the workflow clear so each format has a defined consumer.

When should product extraction use rendering, sessions, or routing?

Start with the lightest request that returns complete product evidence. Add rendering when product fields appear only after browser execution. Add waits when the rendered page needs time for important sections to load. Add headers when language, content type, user agent, or other allowed request context changes the response. Add sessions when related requests depend on shared state, such as variant selection or continuity across a product flow.

Use country targeting when product details vary by location, currency, language, availability, regional redirects, or local seller behavior. Use stronger routing when standard delivery repeatedly returns blocked, incomplete, or unstable responses. Each control should answer a specific observation from the target, not become a global default.

For related request-control decisions, review custom headers, sessions, and country targeting. The goal is to keep straightforward product pages affordable while giving harder sources a deliberate upgrade path.

What should stay downstream from ScraperFly?

Product extraction does not end at capture. Your downstream system still needs to decide how to normalize names, match SKUs, merge variants, resolve duplicate products, map categories, validate currencies, handle units, rank confidence, store media, and reconcile conflicting seller data. Those are business rules, not just scraping controls.

Keeping that boundary clear makes the page easier to operate. ScraperFly retrieves public product pages and returns evidence in useful formats. Your parser, catalog enrichment layer, PIM, monitoring system, or data warehouse then turns that evidence into the product model your business needs. That separation avoids overpromising and makes failures easier to debug: was the page captured incorrectly, or did the downstream extraction rule need adjustment?

Where should a product team start?

Start with a small sample set: one simple product page, one variant-heavy page, one out-of-stock page, one category-specific template, and one source that may require rendering or location context. Test each URL in the API Builder, compare output formats, and decide which request profile produces complete evidence with the least overhead.

Once the capture profile is proven, scale in layers. Keep raw HTML for pages that expose fields in source markup, add rendered HTML only where JavaScript changes the result, and use screenshots or PDFs only where human review needs visual proof. If the workflow includes price or availability changes over time, connect this page with price monitoring and review pricing before turning small tests into recurring production jobs.

01 / Extraction Schema

Prove the response shape in one API sender before you scale the scrape across thousands of URLs

Before a large export, run one real ScraperFly request in Postman, Insomnia, Hoppscotch, Bruno, Thunder Client, curl, or any API sender your team already uses. Add the API key, target URL, method, output format, and delivery settings, then compare the expected result with the response you receive. If the sample comes back as the wrong artifact, missing fields, blocked content, empty HTML, or a region-specific mismatch, tune HTML, text, Markdown, PDF, JSON, rendering, country, premium proxy, headers, sessions, waits, or retries until the response is ready to become the batch profile.

One tested requestExpected vs receivedFormat confirmedReady to scale
A clean API request sender with API key, method, URL, output format, and send controls

01 / Request sender

Start in the tool your team already uses for API tests

Open Postman, Insomnia, Hoppscotch, Bruno, Thunder Client, curl, or any sender that can make GET, POST, and PUT requests. The point is not the tool; the point is to run the exact request profile once before it becomes a batch job.

PostmanInsomniaHoppscotchBrunoThunder Clientcurl
Expected result compared with received result while output format, premium proxy, country, and rendering settings are adjusted

02 / Expected vs received

Adjust the request until the received output matches the expected result

Switch between HTML, clean text, Markdown, PDF, JSON, or screenshot output and inspect what comes back. If the response is incomplete, tune rendering, premium proxy, country, headers, sessions, waits, or retries until the sample produces the data artifact your workflow needs.

  • Does the content type match the workflow?
  • Are required fields present and readable?
  • Does country or premium proxy change the result?
  • Does rendering produce missing page content?
A validated sample request scaling into files, database records, and automation outputs

03 / Scale only after proof

Turn the validated sample into a repeatable extraction profile

Once one URL returns the right artifact, reuse the same request settings for the larger URL set. That keeps batch jobs tied to a known-good profile instead of discovering format, routing, or rendering mistakes after thousands of requests.

Batch exportsDatabase recordsAutomationsQA evidence
ScraperFly fit

One tested profile for production export

Validate one target, tune the delivery settings, then reuse that profile for batches, exports, and automations.

Sender-friendly testing

Use the same endpoint from Postman, Insomnia, Hoppscotch, Bruno, Thunder Client, curl, backend code, or scheduled jobs.

Output choices that matter

Return HTML, clean text, Markdown, PDF, JSON, screenshots, and metadata depending on what the downstream workflow consumes.

Delivery controls when needed

Add rendering, country, premium proxy, headers, sessions, waits, and retries when the sample response proves they are required.

Scale from a known-good request

Move from one validated response to batches, exports, database feeds, and automations with fewer surprises.

Product data workflow

Capture product evidence that downstream catalogs, monitors, and research tools can trust

ScraperFly helps teams collect public product pages, validate the response shape, and choose HTML, text, Markdown, JSON-oriented metadata, screenshots, or PDFs depending on how the data will be reviewed and normalized.

Commerce

Turn public commerce pages into pricing and inventory intelligence

Track competitor prices, stock changes, sellers, marketplace offers, travel rates, and catalog shifts before they affect revenue.

Laptop with analytics charts for price monitoring
Commerce

E-commerce price monitoring

Watch competitor prices, discounts, stock status, shipping terms, and seller movement so pricing teams can react before market changes become invisible.

Useful fields: price, discount, stock, seller, shipping

Person browsing products on a smartphone
Commerce

Product catalog enrichment

Fill missing titles, descriptions, specifications, images, variants, and identifiers from public product pages and manufacturer catalogs.

Useful fields: title, description, specs, images, SKU

Large warehouse aisle representing marketplace operations
Commerce

Marketplace seller intelligence

Compare seller presence, fulfillment models, assortment depth, ratings, and offer changes across marketplaces.

Useful fields: seller, rating, offer, fulfillment, assortment

Warehouse worker organizing inventory shelves
Commerce

Inventory and availability tracking

Detect stockouts, pickup availability, regional inventory, delivery promises, and product availability gaps before customers do.

Useful fields: stock, region, pickup, delivery, timestamp

Person with shopping bags checking a smartphone
Commerce

Brand protection

Find unauthorized sellers, suspicious pricing, counterfeit signals, incorrect product claims, and risky listings in public marketplaces.

Useful fields: seller, price, claims, images, marketplace

Busy outdoor restaurant and hospitality scene
Commerce

Travel and hospitality monitoring

Collect room availability, rates, amenities, cancellation terms, local demand signals, and review context across booking surfaces.

Useful fields: rate, availability, amenities, policy, rating

Phone showing an online shopping interface
Commerce

Classifieds and secondhand tracking

Monitor new listings, asking prices, seller activity, item condition, location, and posting age across resale markets.

Useful fields: listing, price, condition, seller, location

Laptop showing financial graphs and analytics
Commerce

Price comparison and repricing

Turn competitor price snapshots into repricing inputs, assortment gaps, margin alerts, and market-position reports.

Useful fields: competitor, price, rank, availability, change

Growth

Find demand signals before they show up in your own analytics

Monitor search results, ads, competitor pages, business directories, hiring activity, and lead signals to see where attention is moving.

Laptop displaying analytics dashboard for SEO monitoring
Growth

SERP and SEO monitoring

Track ranks, snippets, ads, local packs, language, device, and geo differences to see how visibility changes in the real search surface.

Useful fields: rank, URL, snippet, ads, geo

Laptop open on a news or content page
Growth

Competitor content monitoring

Watch page changes, headings, CTAs, schema, internal links, and content inventory without waiting for manual audits.

Useful fields: heading, CTA, schema, links, updated text

Hands holding a phone with social media content
Growth

Ad intelligence

Collect public ad copy, creative patterns, landing pages, regions, timing, and advertiser activity for campaign research.

Useful fields: copy, creative, landing page, region, date

Business people exchanging documents in an office
Growth

Lead generation and company enrichment

Build account lists and enrich company records with domains, locations, industries, public contacts, hiring signals, and technology hints.

Useful fields: company, domain, industry, location, signals

Small local coffee shop storefront
Growth

Local business directory data

Collect names, categories, addresses, hours, websites, ratings, and review counts from public directory pages.

Useful fields: name, category, address, hours, rating

Office workers reviewing professional documents
Growth

Job market intelligence

Track job titles, skills, salary ranges, seniority, remote policies, and hiring velocity across career pages and job boards.

Useful fields: title, salary, skills, location, seniority

Voice

Turn public conversations into product and reputation signals

Collect reviews, media mentions, community discussions, public posts, and creator signals to understand what customers and markets are saying.

Person reading a newspaper while working on a laptop
Voice

News and media monitoring

Collect articles, authors, dates, topics, entities, links, and source metadata for reputation, research, and alerting workflows.

Useful fields: title, author, date, source, entities

People shopping and checking a smartphone together
Voice

Review and sentiment tracking

Capture rating trends, complaint themes, praise patterns, business responses, and product-location context from public reviews.

Useful fields: rating, review, theme, response, date

Person browsing a social media app on a smartphone
Voice

Social and public web monitoring

Monitor public posts, engagement, hashtags, timestamps, and profile context where policy and source access allow it.

Useful fields: post, engagement, hashtag, profile, time

Person reading news articles in a room
Voice

Community and forum intelligence

Find recurring questions, complaints, feature requests, and problem language from public communities and support forums.

Useful fields: question, topic, complaint, reply count, date

Workspace with laptop, coffee and newspaper
Voice

Creator and influencer discovery

Build discovery lists from public profile pages, content topics, audience hints, posting cadence, and collaboration signals.

Useful fields: profile, topic, audience signal, cadence, link

Records

Make public records and listings easier to monitor at scale

Extract tenders, legal notices, filings, financial data, and real estate listings into sourced datasets that teams can search, compare, and review.

Professionals exchanging business documents
Records

Public procurement and tenders

Track buyers, budgets, deadlines, requirements, attachments, awards, and changes across tender portals and public notices.

Useful fields: buyer, budget, deadline, requirements, award

Professionals discussing legal documents in an office
Records

Regulatory and legal monitoring

Monitor notices, public registers, effective dates, document versions, affected entities, and compliance-relevant changes.

Useful fields: notice, entity, date, document, status

Professionals reviewing financial documents
Records

Financial and public market research

Collect filings, disclosures, tables, news, instrument metadata, and public financial context for research pipelines.

Useful fields: filing, table, issuer, date, metric

House keys and cash for real estate market data
Records

Real estate listings and market data

Track listing prices, addresses, property attributes, agent details, status, history, and neighborhood context.

Useful fields: price, address, beds, agent, status

Data products

Build data products from scraped pages, not page dumps

Clean, normalize, validate, enrich, compare, and deliver public web data into databases, dashboards, alerts, and LLM pipelines.

Laptop screen with programming code
Data products

LLM-ready web data pipelines

Convert public pages into clean text, Markdown, chunks, metadata, citations, and freshness signals for retrieval or model workflows.

Useful fields: clean text, Markdown, chunk, source URL, timestamp

Data center server racks for database workflows
Data products

Structured extraction to database

Turn HTML, PDFs, tables, and page text into typed records that can be stored, queried, joined, and audited later.

Useful fields: JSON, type, source, schema, record ID

Laptop with coding and data analysis interface
Data products

Change detection and alerting

Compare snapshots and alert teams when prices, stock, rank, content, status, or regulatory language changes.

Useful fields: previous value, new value, delta, threshold, alert

Computer screen with colorful code and data
Data products

Entity enrichment and normalization

Normalize product IDs, company names, locations, people, categories, units, currencies, and taxonomy mappings.

Useful fields: entity, canonical ID, category, unit, confidence

Close-up of server rack with blue indicators
Data products

Data quality validation

Check required fields, data types, ranges, duplicates, source evidence, and suspicious records before downstream use.

Useful fields: required field, type, range, evidence, confidence

Laptop with code editor for data reporting feed
Data products

Reporting and dashboard feeds

Feed BI dashboards, market reports, operating scorecards, and recurring analyses with web data that refreshes on schedule.

Useful fields: metric, dimension, period, source, refresh

Why ScraperFly

Make extraction decisions from real page evidence instead of assumptions

Source HTML, rendered HTML, readable content, metadata, and visual proof help distinguish missing product data from parser gaps, regional variants, or blocked responses.

  • Fill gaps left by APIsMany sources expose useful public pages but no complete API for the exact fields, geos, filters, or histories a team needs.
  • Monitor change over timeRecurring scrapes create a history of prices, content, availability, ranks, reviews, notices, and market movement.
  • Compare across sourcesScraping makes cross-site comparison possible when marketplaces, directories, portals, and publishers structure data differently.
  • Create usable recordsThe useful output is not a page dump; it is a sourced, timestamped, normalized record that downstream systems can trust.
Best fit

Useful for catalog enrichment, product research, price tracking, stock monitoring, and marketplace analysis

Teams can start with a few sources, test field quality, and add heavier request controls only where product pages require them.

One API for varied sources

Use the same integration pattern across stores, search pages, directories, documents, public listings, and data-product pipelines.

Delivery controls when needed

Rendering, sessions, headers, geo, and proxy routing can be added for targets that need them without rebuilding the workflow.

Output that supports post-processing

HTML, screenshots, clean text, Markdown, and structured extraction paths help teams move from page retrieval to usable records.

Less scraping infrastructure to own

Teams can focus on fields, validation, freshness, and business logic instead of browser fleets, routing edge cases, and retry plumbing.

Product source behavior

Check variants, templates, JavaScript, and marketplace rules before scaling extraction

Product pages can vary by category, seller, region, stock, language, device, cookie state, and frontend rendering. Sampling real targets reduces brittle extraction logic.

Raw HTML response mapped to visible page data
01

Raw HTML availability

Check whether the fields you need are already present in the first HTML response.

Best first test for simple pages, articles, docs, listings, and product details.

Before and after JavaScript rendering comparison
02

JavaScript dependency

Compare raw HTML with the rendered DOM or screenshot before turning on browser rendering.

Use rendering when raw HTML is only a shell and scripts create the useful content.

Cookies, consent, session and access context for scraping
03

State & access context

Identify whether cookies, consent, login boundaries, pagination, or the same visitor state affect the response.

Use sessions and headers when continuity changes the data you receive.

Regional content variations across countries and routes
04

Geo/content variation

Test whether country, language, currency, inventory, SERP, ads, or route reputation changes the result.

Use geo or premium routing only when the target proves the response varies by route.

Checks before product data extraction

Where is the target field?

Find whether the field exists in raw HTML, rendered DOM, an API call, structured data, a file, or a later interaction state.

What changes the response?

Sample a few URLs and compare status, final URL, content length, redirects, empty states, and visible result differences.

What context is required?

Mark any dependency on consent, locale, cookies, headers, authentication boundary, pagination, filters, or previous requests.

What does failure look like?

Define the signals for blocked, partial, stale, redirected, empty, timed-out, or region-mismatched responses before scaling.

How product pages change extraction setup

Fetch mode

Raw HTML availability decides whether the first request can stay simple or needs rendering, waits, screenshots, or extraction.

Request context

State requirements decide whether to add headers, cookies, sessions, consent handling, or a stable visitor profile.

Routing choice

Geo and reputation findings decide whether standard routing is enough or a country/premium route is justified.

Validation rules

Known failure states become checks for retries, escalation, QA review, and deciding when a lighter profile is still complete.

Product request builder

Build product extraction requests with the right output for each source

Use HTML for field-level parsers, text or Markdown for readable descriptions, JSON-oriented metadata for enrichment, and screenshots or PDFs when page state needs proof.

SKU
Fields

Capture the product facts that matter

Titles, SKUs, brands, prices, stock states, variants, images, descriptions, specs, reviews, and seller details need source validation before they become catalog fields.

SKUpricevariants
DOM
Source shape

Compare source and rendered content before writing rules

Product data can live in markup, scripts, rendered DOM, metadata, or repeated visual components. Compare outputs before committing parser logic.

htmlrendermetadata
QA
Proof

Use visual capture when extraction needs human confidence

Screenshots and PDFs help reviewers verify product pages, price displays, stock states, variant selections, badges, and page layout when machine-readable evidence is not enough.

screenshotpdfreview

Controls that shape product data extraction

url

Public product, category, or marketplace page being captured.

format

Output shape for extraction, enrichment, review, or visual proof.

render

Browser execution when product data appears after JavaScript.

premium

Stronger routing for product sources that resist simple capture.

cURL example

Generate Markdown with the same request shape you can move into production

curl "https://scraperfly.com/api/v1?url=https%3A%2F%2Fexample.com&format=markdown" \
  -H "apikey: YOUR_API_KEY"

Error handling

Turn scraping failures into fixes

Every web data workflow eventually meets a bad response: a missing URL, an invalid key, an empty HTML shell, a target 403, a rate limit, a render timeout, a broken PDF capture, or a JSON payload that does not contain the fields your product expected. ScraperFly is built to make those moments diagnosable. You inspect the HTTP status, the stable error code, the request profile, and the returned artifact, then choose the cheapest useful next move: fix the request, add credits, slow down, retry with backoff, enable rendering, change country, use premium routing, preserve headers, or validate the output before scaling.

Stable error shapeRetry decisionsCost-aware escalationOutput validation
Developer reviewing code and API request parameters on a laptop

01 / Request setup and access

Fix request mistakes first

Some failures are not target problems at all. They happen before ScraperFly can make a meaningful delivery attempt: a missing or malformed URL, an unsupported output format, an incompatible visual file type, a missing API key, an invalid key, or a key that has been paused or disabled. These errors are configuration signals, not retry signals: stop the workflow, point the developer to the exact field that needs correction, and keep credits focused on real target tests instead of repeated bad inputs.

missing_urlinvalid_urlunsupported_formatinvalid_api_key
  • Validate the URL and encoding before sending a batch.
  • Use supported outputs: HTML, text, Markdown, JSON, screenshot, or PDF.
  • Match screenshot file types to image output and PDF file type to PDF output.
  • Treat missing or invalid API keys as configuration work, not retry work.
Business dashboard with charts, documents and usage planning on a desk

02 / Credits, limits and concurrency

Separate limits from failures

A workload can fail because the account has no usable credits, the monthly plan limit has been reached, or concurrency is too aggressive for the current plan and target mix. ScraperFly makes those limits visible as operating signals, not mysterious scrape failures. That keeps the buying decision practical: start free, test the target, buy pay-as-you-go credits for uneven jobs, move to monthly credits when volume becomes predictable, and use backoff when request pressure is the real issue.

usage_limit_reachedrate_limitedcreditsbackoff
  • Use account status to check remaining credits before large runs.
  • Retry rate limits with backoff instead of immediately increasing pressure.
  • Keep one-off projects on pay-as-you-go when volume is uneven.
  • Move predictable recurring work to monthly credits when the pattern is proven.
Server room representing delivery paths, routing and network infrastructure

03 / Target delivery and network

Find delivery failures first

Many scraping platforms collapse delivery issues into a vague request failure. In production, that is not enough. The team needs to know whether the request timed out, the upstream target returned a temporary server error, the connection failed, the response was too large, redirects went somewhere unexpected, or the page came back as tiny HTML with no useful content. ScraperFly turns those failures into delivery evidence: try the light profile first, compare status and response size, then decide whether the next request needs backoff, another route, premium proxy, country targeting, or a narrower capture.

timeout5xxredirectsresponse_too_large
  • Retry temporary network and upstream failures with a controlled backoff policy.
  • Compare final URL, status, content type and response size across samples.
  • Escalate routing only when the response proves the simple path is unstable.
  • Treat oversized responses as a scope problem before scaling the same profile.
Digital security screen representing anti-bot and protected access signals

04 / Anti-bot, geo and access blocks

Read blocks before escalation

A target 403, 401, 429, CAPTCHA screen, WAF challenge, login wall, consent loop, or region-specific mismatch is not just an error; it is a clue about what the site expects from the visitor. Competitors often push teams toward a heavier default profile, but that can burn budget without proving the fix. ScraperFly's better path is evidence-based escalation: preserve realistic headers when context matters, use sessions when continuity changes the response, enable rendering when the useful content is browser-built, and choose premium or country routing when reputation or geography changes the result.

403429CAPTCHAcountry mismatch
  • Use premium routing when IP reputation is the proven bottleneck.
  • Use country targeting when language, currency, inventory or search results change by market.
  • Use headers, cookies and sessions when visitor state changes the response.
  • Reduce concurrency and add backoff when repeated requests trigger target throttling.
Developer preparing code and output artifacts on a laptop

05 / Rendering and output quality

Ship usable artifacts

A 200 status is not the same thing as a usable scrape. The raw HTML can be an empty app shell, Markdown can miss the main article, JSON can lack expected metadata, text can include noise, screenshots can be blank, and PDF or image output can fail if the browser step times out. ScraperFly is valuable because the same API request can move from raw HTML to rendered DOM, clean text, Markdown, JSON, screenshot or PDF, then be checked against the artifact your product actually needs. That reduces glue code, failed imports, and expensive batch runs that only discover bad output after the fact.

render_timeoutbrowser_render_failedJSON fieldsPDF/image output
  • Enable rendering when raw HTML is only a shell and the useful content appears after JavaScript.
  • Validate text, Markdown and JSON against expected fields before batching.
  • Use screenshot or PDF output when visual proof or audit evidence matters.
  • Treat blank or partial artifacts as quality failures even when HTTP status is successful.
ScraperFly fit

Cleaner error recovery

ScraperFly helps teams decide what to fix, what to retry, and what to escalate without turning every scrape into the most expensive request profile.

Stable error shape

Use HTTP status and error code together so application logic can choose between fixing input, refreshing credentials, slowing down, retrying, or escalating delivery.

Retry only when it helps

Network failures, rate limits, and temporary server errors can use backoff. Invalid URLs, unsupported formats, and bad keys should be corrected once.

Cost-aware escalation

Start with the light request profile, then add rendering, premium routing, country, sessions, headers, waits, or visual capture only when the failure proves it.

Validate output before scale

Confirm the real artifact your product needs: HTML, text, Markdown, JSON, screenshot, or PDF, before copying the same profile across a large URL set.

Product FAQ

Common questions about product data extraction workflows

Product extraction works best when teams validate field quality, source behavior, output format, and proof needs before scaling across categories, storefronts, or marketplaces.

Product answers
Fields

Product data scope

Define which product facts matter before scaling capture.

Does ScraperFly normalize product fields automatically?

No. ScraperFly captures public page evidence. Field extraction, normalization, SKU matching, taxonomy mapping, and catalog modeling belong in your downstream product data system.

Which product fields can the workflow support?

Teams commonly inspect titles, brands, SKUs, prices, stock, variants, descriptions, specifications, images, seller details, reviews, breadcrumbs, and category signals when those fields are present in the captured page.

Output

Choosing the capture format

Use the format that best fits the consumer of the evidence.

Should product extraction start with HTML?

Usually yes. Raw HTML is the lightest first test when product fields are already present in source markup. Rendered HTML is useful when JavaScript builds the product state.

When are screenshots or PDFs useful?

Use visual files when QA, compliance, or human review needs proof of how the product page appeared, including visible price, stock labels, badges, or variant selection.

Behavior

Handling product page variation

Product pages can change by template, region, state, or seller.

Why do product fields disappear between samples?

Fields can move because of variants, seller rules, region, stock state, device layout, cookies, JavaScript timing, or template differences. Compare raw and rendered outputs before changing parser rules.

When should I use sessions or country targeting?

Use sessions when related requests depend on shared state. Use country targeting when price, availability, language, redirects, or seller behavior changes by location.

Scale

From sample pages to production

Scale only after source evidence and request weight are clear.

How should I validate a product extraction workflow?

Test representative product pages, compare outputs, confirm required fields, inspect failures, and document which controls are needed for each source or template before scaling.

How do I keep product extraction costs predictable?

Keep simple pages on raw HTML, enable rendering only where it changes the captured result, and reserve screenshots, PDFs, premium routing, or long waits for sources that prove they need them.