PINGDOM_CHECK

Extract clean content automatically with Zyte API’s new pageContent data type

Discover how Zyte API’s new PageContent data type makes content extraction effortless — delivering clean, structured data from any web page automatically.

Daniel Cave · Product Marketing

10 min read ·

Extract clean content automatically with Zyte API’s new pageContent data type

Today, we’re opening access to pageContent, a brand-new Zyte API automatic extraction data type that delivers the content of any web page as plain text minus the noise.

Everyone who carries out web data extraction is ultimately focused on the same end goal – obtaining the main content of a destination page. But the need to target underlying CSS or XPath selectors for that content complicates the life of every data engineer. 

With pageContent, instead of targeting fragile selectors that are prone to changing, you just send a URL and get back the content from the main body of the page. It’s the fastest route to extract clean LLM friendly content from web pages as plain text.

But pageContent doesn’t only return a page’s main content. It also automatically returns smart navigation links and pagination links, without you needing to script any parsing logic.

What exactly is pageContent?

Think of pageContent as a one-call content fetcher: URLs go in; clean, structured data comes out. 

While a regular Zyte API request returns a target page’s HTML, passing pageContent: true will strip out all the noise and return just the text you want wrapped in JSON with some useful extras like the Xpath for the main content, links and some meta.

itemMain can return the text of a news article, the description of a product listing, the content of a forum post – pretty much, whatever is the main text material of a page.

pageContent is clever and helpful enough to identify and return all these all these useful elements from a target page, to better support your scraping workflows:

Field What you get
itemMain Plain text of the page’s primary content, complete with paragraph breaks and sub-heads, separated with extra newlines.
itemMainXPath XPath to locate that content inside raw HTML for yourself.
headline, title Content’s main headline and page’s title.
breadcrumbs, navigationHeader, navigationFooter, navigationSidebar Easy discovery for all surrounding navigation elements.
pagination, nextPage Pointers to keep your extraction rolling, without regular expressions.

All of this arrives as clean JSON, ready to use in your applications.

shell

1{
2    "url": "https://example-news.com/world/europe/2025/08/01/leadership-summit-key-takeaways",
3    "canonicalUrl": "https://example-news.com/2025/08/leadership-summit-key-takeaways/",
4    "title": "Leadership Summit: Key Takeaways | Example News",
5    "headline": "Five Things We Learned at the 2025 European Leadership Summit",
6    "breadcrumbs": [
7        {
8            "name": "Home",
9            "url": "https://example-news.com/"
10        },
11        {
12            "name": "World",
13            "url": "https://example-news.com/world/"
14        },
15        {
16            "name": "Europe",
17            "url": "https://example-news.com/world/europe/"
18        },
19        {
20            "name": "Leadership Summit: Key Takeaways"
21        }
22    ],
23    "itemMain": "BRUSSELS — From energy security to AI regulation, this year’s European Leadership Summit produced a raft of announcements that will shape policy for decades. Here are the five most important take-aways…",
24    "itemMainXPath": "//*[@id='main-article']",
25    "navigationHeader": [
26        {
27            "name": "World",
28            "url": "https://example-news.com/world/"
29        },
30        {
31            "name": "Politics",
32            "url": "https://example-news.com/politics/"
33        },
34        {
35            "name": "Business",
36            "url": "https://example-news.com/business/"
37        },
38        {
39            "name": "Tech",
40            "url": "https://example-news.com/tech/"
41        }
42    ],
43    "navigationSidebar": [
44        {
45            "name": "Most Read",
46            "url": "https://example-news.com/most-read/"
47        },
48        {
49            "name": "Climate",
50            "url": "https://example-news.com/climate/"
51        }
52    ],
53    "navigationFooter": [
54        {
55            "name": "About Us",
56            "url": "https://example-news.com/about/"
57        },
58        {
59            "name": "Privacy Policy",
60            "url": "https://example-news.com/privacy/"
61        },
62        {
63            "name": "Terms of Use",
64            "url": "https://example-news.com/terms/"
65        }
66    ],
67    "pagination": [
68        {
69            "name": "Previous",
70            "url": "https://example-news.com/world/europe/2025/07/31/energy-deal-analysis"
71        },
72        {
73            "name": "Next",
74            "url": "https://example-news.com/world/europe/2025/08/02/eu-digital-markets-update"
75        }
76    ],
77    "nextPage": {
78        "name": "Next",
79        "url": "https://example-news.com/world/europe/2025/08/02/eu-digital-markets-update"
80    },
81    "metadata": {
82        "dateDownloaded": "2025-08-11T15:17:02Z",
83        "probability": 0.6619443893432617
84    }
85}
Copy

Part of the Zyte API automatic extraction family

pageContent is a close cousin of the other data types that Zyte API can already return automatically through content-specific schemas in structured JSON, thanks to the supervised machine learning models underpinning our automatic extraction:

If you’re tired of writing code, and sick of selectors breaking, automatic extraction is the quickest and easiest way to cut to the chase – AI handles the job of turning HTML into structured data.

But, while using existing automatic extraction data types depends on users already knowing the content type of the end content they want to extract, pageContent does not need this input; it will happily return the page’s main content and other standard elements, whatever the type.

Because pageContent runs through Zyte API, you also get Zyte’s advanced unblocking, proxy rotation and headless browser tech included.

Why we built pageContent

Manual scraping can be painful. The average web page carries a lot of noise for every signal Developers spend hours inspecting ever‑shifting DOMs and updating spiders when a div class changes.

  • Just get results: pageContent lets you skip the pain of parsing. At the end of the day, scraping exists to deliver results, and pageContent makes that quicker, easier and more easily scalable.

  • Light on schema, infinite content: Existing automatic parsing tools on the market return a page’s intrinsic content in a content-specific schema, like article or product description. pageContent returns content in the same schema every time, so your extraction workflow is highly flexible.

  • Cut LLM token costs. Feeding an entire HTML document to a large language model (LLM) is often expensive. itemMain removes boilerplate, nav menus and ads from scraped content, so you can save token and processing costs by supplying only meaningful inputs to your AI.

Practical uses

We think pageContent is going to be pretty popular. For instance:

  1. LLM ingestion – Summarise, classify or translate fresh web pages without paying for useless markup.

  2. Content monitoring and archiving – Store the main text and ignore the rest.

  3. SEO / accessibility audits – Validate presence of headings, breadcrumb trails and pagination in one response.

  4. Crawl orchestration – Use the nextPage URL to drive spiders, zero regular expressions required.

Any time you need pre-parsed, clean text extracted from web pages at any scale, pageContent is going to be a massive time saver, both upfront and ongoing.

How it works

Using pageContent is as simple as enabling pageContent in a JSON request body sent to Zyte API’s /extract endpoint.

shell

1# 1) Put your Zyte API key in an env-var for convenience
2export ZYTE_API_KEY="YOUR_ZYTE_API_KEY"
3
4# 2) Fire the request
5curl \
6  --user "$ZYTE_API_KEY:" \
7  --header 'Content-Type: application/json' \
8  --data '{"url":"https://example-news.com/world/europe/2025/08/01/leadership-summit-key-takeaways","pageContent":true}' \
9  --compressed \
10  https://api.zyte.com/v1/extract
Copy

You can read the docs and try the same call inside the Zyte API Playground.

For busy builders

pageContent unlocks new extraction efficiencies for all Zyte’s customers:

  • Developers and data engineers — no more selector maintenance; lower compute bills.

  • Technology leaders — scalable, compliant data pipeline without new infrastructure or headcount.

Product / business intelligence leads — faster time‑to‑data; predictable costs; API drops data straight into pipelines.

Try it today

pageContent is live in Zyte API now, and the docs are available to read Try it out in the Zyte API Playground and see how clean content looks when the boilerplate disappears.

👉 Start your first pageContent request now

Questions? Jump into our Discord community — we love hearing what you build when the page just melts away.

Try Zyte API

Build your first scraper in minutes

Free trial, no credit card. From a single request to production in an afternoon.

Get started

Daniel Cave

Product Marketing

For more than a decade, Daniel has been building products at the frontier of web data access, working closely with founders and c-suite to shape tools that defined the first and second waves of web scraping innovation and AI. He has launched data driven products that led to acqui…

More from this author

Continue reading

An automatic Claude writer device, writing code.
AI-assisted data extraction

Claude Fable 5 is the new best model for writing scrapers

We ran nine models, including the new GPT-5.6, through our Zyte Scraping Code Benchmark. Claude Fable 5 puts Sol and others in the shade - but it’s pricey, and the best extraction code still depends on the best infrastructure.

Konstantin Lopukhin8 min read
The harness matters more than the model - Podcast EP07
AI-assisted data extraction

The harness matters more than the model - Podcast EP07

"The model is the engine — but the harness is everything else." In Episode 7, we dig into why the infrastructure layer around your AI model matters more than the model itself, rank the best models available right now, and ask whether the open-weighted revolution is about to make frontier subscriptions obsolete.

John Rooney11 min read
What's becoming of web scraping developers in the age of AI agents?
AI-assisted data extraction

What's becoming of web scraping developers in the age of AI agents?

AI agents can generate code, suggest selectors, and draft crawl logic. What they can't do is design the system that decides when to stop, what to trust, and how to recover when the web pushes back. That job still belongs to a human.

Neha Setia Nagpal14 min read
What multi-agent orchestration looks like in a large-scale web scraping project
AI-assisted data extraction

What multi-agent orchestration looks like in a large-scale web scraping project

Multi-agent orchestration is having its moment. The diagrams are everywhere now. Boxes for planners, boxes for hands, boxes for daemons, arrows to a shared brain, a human floating at the top. They keep getting prettier. The part where the web pushes back is still the part nobody draws.

Neha Setia Nagpal18 min read
Building a self-hosted browser scraping service (is it more hassle than its worth?)
Web scraping APIs

Building a self-hosted browser scraping service (is it more hassle than its worth?)

If you want to understand exactly how a browser scraping service works at the infrastructure level, or you have a steady workload that you want running on hardware you already own, building one yourself teaches you things that matter. Here's how I did it

John Rooney8 min read
I built scraping agents for 30 days - here’s what I learned
AI-assisted data extraction

I built scraping agents for 30 days - here’s what I learned

For the last 30 days, I did one thing almost exclusively: I built scraping systems with AI agents, from the ground up, across real targets, with real deadlines. Not prototypes designed to impress in a demo, not isolated experiments running against a toy website, but production-grade pipelines that needed to ship and keep running.

John Rooney11 min read

The Community · Newsletter

The best of Zyte and the data web, in your inbox.

One curated edition — new articles, product updates, and the stories shaping the data web. No noise.