ScraperFlyAI-ready Web Data API

developer api

Web Content Parser API for public page capture

ScraperFly helps teams capture public web pages in parser-ready response formats before their own extraction, AI, search, monitoring, QA, or archive workflows decide what the content means.

Parser-ready capture

Turn public web pages into usable parser inputs before building the extraction layer

A web content parser is only as good as the page evidence it receives. If the capture step returns an empty shell, the wrong region, a redirect, noisy markup, or a format the next system cannot use, the parser has to guess. That creates fragile rules, confusing failures, and cleanup work that should have been avoided earlier.

ScraperFly gives teams a practical capture layer before parsing starts. Fetch public pages, render JavaScript when the useful content is browser-built, choose HTML, text, Markdown, metadata, screenshot, or PDF output, and pass the clearest evidence into your own parser, AI workflow, monitor, QA tool, or archive.

HTML Markdown metadata visual proof
Team reviewing public web content capture outputs for parser and AI workflows

What is a web content parser API?

A web content parser API is a request workflow that captures a public web page and returns content in a shape another system can inspect, parse, classify, summarize, monitor, or archive. The response may be raw HTML, rendered HTML, clean text, Markdown, JSON metadata, a screenshot, a PDF, or a combination of outputs that fit the downstream job.

ScraperFly focuses on the capture and response-format layer. Your application remains responsible for field extraction, validation, content models, classification, storage, deduplication, alerts, and business logic. That separation is useful because parsing rules are easier to build when the team first sees reliable page evidence.

This page is broader than a simple URL to text API and less narrow than an HTML scraping API. The point is format choice: give the parser, agent, search index, monitor, or reviewer the response shape that reduces cleanup work and avoids premature assumptions.

Practical takeaway: treat ScraperFly as the public page capture layer, then let your own parser decide how to extract and model the content.

Which response format should feed a content parser?

The best response format depends on what the parser needs to know. HTML preserves selectors, attributes, links, tables, and DOM relationships. Clean text removes markup when readability matters more than structure. Markdown keeps headings, lists, and links in a compact format that works well for review, documentation, and AI intake. JSON metadata gives operational context around the request. Screenshots and PDFs preserve visual proof.

Choosing the wrong format creates downstream friction. Sending raw markup to a summarizer can add noise. Sending plain text to a parser that needs selectors can remove crucial context. Generating screenshots for machine-only workflows adds weight without improving extraction. A good capture workflow tests formats before parser logic becomes production code.

OutputUse it whenMain valueTrade-off
Raw HTMLThe parser needs selectors, attributes, links, tables, or structurePreserves page relationshipsRequires cleanup and target-specific parsing
Rendered HTMLUseful content appears only after browser-side JavaScript runsCaptures the browser-built page stateHeavier than source HTML capture
TextThe next step needs readable content without layout markupCompact and easy to search or classifyRemoves most structural context
MarkdownAI, RAG, review, or documentation workflows benefit from headings and linksKeeps useful reading structureNot ideal for DOM-specific extraction
JSON metadataLogs, monitors, and parsers need request contextShows status, final URL, content type, timing, and sizeDoes not replace custom extraction
Screenshot or PDFReview, QA, compliance, or archive workflows need visual evidencePreserves page appearanceLess convenient for machine parsing

Use the response formats guide when the team needs a deeper comparison before choosing a production output.

When does JavaScript rendering belong in a parser workflow?

Rendering is useful when source HTML is not enough. Many public pages send a thin shell, then build article bodies, product cards, comments, tables, or navigation states after browser-side code runs. A parser that only sees the initial response may miss the content completely or build rules around placeholders instead of real page state.

Rendering should still be deliberate. Start with source HTML, inspect the response, and enable the JavaScript rendering API only when browser execution changes the useful content. That keeps simple targets light and reserves heavier browser work for pages that prove they need it.

For parser teams, the most valuable comparison is raw versus rendered evidence. If both responses contain the same useful content, keep the cheaper profile. If rendered HTML includes the fields, cards, or body content the parser needs, capture the rendered state and record why that control is part of the source profile.

Practical takeaway: make rendering a source-level decision based on response evidence, not a default setting for every content parser request.

How does ScraperFly fit with custom extraction logic?

ScraperFly captures public pages and returns response formats. It does not replace your extraction model, schema design, entity matching, classifier, crawler strategy, database, or editorial workflow. That boundary keeps the platform honest and gives engineering teams control over what the content means inside their product.

A typical workflow starts with representative public URLs in the API Builder. The team compares source HTML, rendered HTML, text, Markdown, metadata, screenshots, or PDFs. Once the response shape is proven, the application writes parser rules, prompt templates, validation checks, or monitoring logic against the format that best matches the job.

This is especially useful for mixed content sources. A news article, product page, documentation page, marketplace listing, forum thread, and review page may all require different parsing logic. ScraperFly gives those sources a consistent capture surface while your application keeps the source-specific intelligence.

How can teams keep web content parsing predictable?

Parsing projects become expensive when every page gets the heaviest request profile before the team knows what the target needs. Browser rendering, premium routing, sessions, waits, screenshots, and PDFs all have a place, but they should be tied to evidence.

DecisionGood defaultEscalate when
Initial captureStart with source HTMLThe response is empty, incomplete, or missing useful content
FormatChoose the smallest usable outputThe downstream parser or reviewer needs more structure or proof
RenderingKeep browser execution off by defaultJavaScript creates the content the parser needs
Visual filesSkip for machine-only parsingQA, audit, monitoring, or human review needs page appearance
Routing controlsUse the normal path firstStatus, redirects, region behavior, or delivery failures show a need

ScraperFly's pricing model supports this staged approach. Start with free credits, test real targets, use pay-as-you-go while the source mix is uneven, and move recurring capture to monthly credits when volume and request weight are proven. The Pricing page helps teams connect request controls to cost before scaling.

Practical takeaway: predictable parsing starts with a light capture profile, clear response evidence, and formats chosen around the downstream consumer.

Parser workflow

Build the capture request before you write parser logic

Use the API Builder to test representative public URLs, compare raw and rendered output, choose HTML, text, Markdown, JSON metadata, screenshot, or PDF, and copy a proven request shape into your parser, AI, monitoring, or QA workflow.

01
01

Preserve page structure

Use HTML when selectors, attributes, tables, links, or DOM relationships matter to your parser.

02
02

Reduce content noise

Use text or Markdown when the downstream system needs readable content rather than raw markup.

03
03

Keep visual proof

Use screenshots or PDFs when QA, monitoring, audit, or review workflows need page appearance.

Useful parser request controls

url

The target page to fetch, render, clean, or capture.

format

Select the response your product needs: html, text, markdown, json, screenshot, or pdf.

premium

Escalate to stronger routing for blocks, unstable targets, or geo-sensitive content.

render

Run Chromium for SPAs, JS-injected markup, screenshots, PDFs, and browser-only pages.

country

Request a country-specific route when content changes by location.

keep_headers

Forward selected request context such as user-agent, cookie, language, and referer.

render_wait

Give dynamic content a controlled extra wait before extraction or capture.

download

Return visual artifacts as downloadable files when the output is screenshot or PDF.

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"

Parser planning

Inspect the target page before committing to an extraction model

A parser should be built around the response the target actually returns. Check whether source HTML contains the useful content, whether rendering changes the page state, which output format the downstream system needs, and what metadata or visual proof should be preserved for debugging.

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.

Questions before scaling content parsing

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.

Parser target 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.

Better parser inputs

Choose ScraperFly when you need capture evidence before parser assumptions

Many scraping tools make it easy to fetch a URL but harder to decide which response shape belongs in the parser. ScraperFly gives teams a practical path: start free, inspect real targets, keep simple pages light, add rendering or routing only when useful, and return the format your downstream workflow can use immediately.

Happy team validating a project on a laptop
01 / Start easy

Easy, free start before any billing pressure

ScraperFly gives you room to test the real target first. Use free credits to check whether the page works, whether the data is present, and which controls are actually needed before you commit money to a plan. That makes the first experiment feel light: no procurement loop, no forced subscription, no guessing your monthly volume on day one.

Free creditsNo card for first testsValidate before scaling
Smiling professional working successfully with a laptop
02 / Spend smart

Affordable, flexible billing for real-world scraping volume

Not every scraping workload is a neat monthly curve. Some projects spike, some pause, and some only become recurring after the data proves value. ScraperFly supports that reality with a pay-as-you-go path plus monthly credit plans when steady volume makes sense. You can buy what you need, keep costs visible, and avoid turning a small test into an oversized subscription.

Pay as you goMonthly when usefulCost control
Developer preparing structured output from a laptop
03 / Ship faster

Response preprocessing that removes cleanup work

A cheap fetch is not enough if your team still has to build converters, cleaners, screenshots, PDF capture, and LLM-ready formatting around it. ScraperFly can return the response as HTML, clean text, Markdown, structured JSON, PDF, or image output, so your pipeline gets closer to the final asset in one request. Less glue code, fewer moving parts, faster delivery.

HTMLTextMarkdownJSONPDFImage

Where ScraperFly helps content parser teams

Compare capture decisions around evidence, format choice, request weight, and debugging clarity instead of treating every page as the same parser input.

Decision pointScraperFly advantageTypical competitor tradeoff
First experimentStart with free credits and validate the real target before spending. You can prove whether raw HTML, rendering, premium routing, or country targeting is actually needed.Trials often push you quickly toward a recurring plan or hide the true cost until add-ons enter the request.
Billing modelUse pay-as-you-go credits for uneven work, then move to monthly credits only when the workload becomes predictable. This keeps small tests and project-based scraping affordable.Many tools are optimized around monthly subscriptions, fixed allowances, or tier gates that can feel heavy before volume is proven.
Request weightKeep simple pages simple. Turn on JavaScript rendering, premium routing, sessions, headers, waits, or country routing only when the response evidence says they matter.Comparable controls may exist, but they are often bundled into higher tiers, defaults, or more complex pricing profiles.
Output formatsReturn the response in the shape your product needs: HTML for parsers, text or Markdown for content pipelines, JSON for structured metadata, and PDF/image output for visual proof.Some providers focus mainly on access and leave formatting, capture, cleanup, and downstream preparation to your own code.
Developer workflowOne API surface can cover target testing, escalation, rendering, routing, sessions, headers, response formatting, and status checks. The path from prototype to production stays compact.Proxy-first tools, actor marketplaces, and crawler platforms can be powerful, but often require more glue code or a heavier operating model.
Best fitTeams that want practical web data delivery: start small, measure cost per useful result, and scale only the controls that improve the outcome.Teams with fixed high-volume contracts, custom proxy infrastructure, or broad marketplace crawler needs may prefer a more specialized platform.

Cost control

Keep content parsing affordable by matching request weight to evidence

Not every parser input needs browser rendering, screenshots, PDFs, sessions, or premium delivery. ScraperFly supports a staged path: start with free credits, validate real pages, use pay-as-you-go while sources are uneven, and move recurring capture to monthly credits when the target mix is proven.

A lightweight HTML request returning a simple response
01

Basic fetch

Use a basic fetch when public HTML already contains the fields you need.

Lightest request profile; keep it when the response is complete.

JavaScript rendering producing a complete DOM
02

Rendering

Use rendering when raw HTML is a shell and JavaScript completes the page.

Heavier profile; use it only when browser output changes the result.

Several requests preserving cookies and visitor state
03

Stateful session

Use sessions when cookies, consent, locale, or pagination change the response.

Heavier state profile; preserve it only when continuity matters.

Request routing through geo and higher quality routes
04

Premium routing & geo

Use premium routing or geo only when origin, country, reputation, or regional content changes the result.

Heaviest routing profile; apply it only to targets that prove they need it.

Parser request cost drivers

More infrastructure work

Browser rendering, routing choices, and longer waits mean the platform has to do more than return a simple response.

More target uncertainty

Redirects, empty states, rate limits, and challenge pages often require stronger delivery options or retries.

More state to preserve

Cookies, sessions, consent, and multi-page flows add moving parts that a plain stateless fetch does not have.

More evidence to return

Screenshots, PDFs, rendered output, and richer response artifacts are useful, but they are heavier than plain HTML.

Controls that should earn their place

Sample before scale

Test a small URL set first and group targets by the lightest profile that returns complete data.

Do not render by default

Inspect raw HTML before turning on rendering. Many public pages already contain the data you need.

Escalate by evidence

Move up only when the response shows missing content, state dependency, geo variance, or routing problems.

Measure useful results

Optimize around valid records delivered, not raw request volume. A lighter profile is best only when it stays complete.

Parser FAQ

Common questions about web content parsing with ScraperFly

Practical answers for teams turning public pages into parser-ready inputs without overclaiming automatic extraction, schema normalization, or crawler logic.

Quick answers

Capture versus extraction

Where ScraperFly fits in the parser stack.

Does ScraperFly write my parser rules?

No. ScraperFly captures public pages and returns response formats. Your application owns extraction rules, validation, normalization, and storage.

Can it replace a full crawler?

No. ScraperFly handles request capture. Crawl scheduling, discovery strategy, deduplication, and alerts belong downstream.

Choosing parser input

Match the response shape to the consumer.

Should I parse HTML or Markdown?

Use HTML when selectors and structure matter. Use Markdown when readable headings, lists, and links are better for review or AI workflows.

What is metadata useful for?

Metadata helps logs and monitors understand status, final URL, content type, timing, response size, and request context.

JavaScript pages

Use browser execution only when it changes the result.

When should I enable rendering?

Enable rendering when the useful public content is absent from source HTML and appears after browser-side JavaScript runs.

Should every parser request render?

No. Start with source HTML and add rendering per target when response evidence proves it is necessary.

Cost and reliability

Keep request profiles practical.

How do I control parser costs?

Use the lightest output that works, add heavier controls only when they improve the response, and reserve screenshots or PDFs for records that need proof.

How should I debug bad parser input?

Compare status, final URL, content type, response size, source HTML, rendered output, and a sample of the returned format before changing parser rules.