Zyte API
|AI Extraction

Turn pages into structured data - no parsers, no selectors

End the pain of parsing. Let AI understand the page and extract the data for you.

AI Extraction

The hidden cost of writing parsers

Death by DOM

Identifying and testing XPath or CSS selectors is slow and repetitive.

Error-prone

Fragile selectors break when site markup changes.

Slow to scale

Scraping dozens of sites means never-ending maintenance.

Try AI Extraction

Pick your AI superpower

Three ways to turn any web page into valuable data. Standard schemas are extracted by trained machine-learning models - deterministic and priced for scale. The LLM runs only when you ask for custom fields, so per-page inference cost never becomes your bottleneck.

1. Broad

Instant extraction from any page

Just get the data. One parameter is all you need. "pageContent": true is your key to instantly extract the main content of any page. No selectors in sight, no HTML to clean up – just clean, slim-line content, ready for LLMs or any use case.

Read the docs
Request
1{
2  "httpResponseBody": true,
3  "pageContent": true
4}
5
6def parse(self, response):
7    http_response_body: bytes = response.body
8    with open("http_response_body.html", "wb") as fp:
9        fp.write(http_response_body)
10    page_content = response.raw_api_response["pageContent"]
11    yield page_content
Response
1{
2  "headline": "Guide to Espresso Brewing",
3  "itemMain": "Espresso Brewing Guide. Everything you need to dial in a shot: dose, yield, time, and grind. Start with 18 g in and 36 g out in 25-30 seconds, then adjust grind until the shot tastes balanced. Water at 93°C, freshly roasted beans, and a level tamp matter more than any single variable...",
4  // ...,
5  "itemMainXPath": "//*[@id=\"main-content-wrapper\"]",
6  "metadata": {
7    "dateDownloaded": "2026-07-20T09:14:22Z"
8  }
9}
2. Specialist

Rich, content-specific schemas

Zyte API uses machine learning models to identify and return standard data schema from a range of specific data types such as Product, Article, Job Posting, Search Engine.

3. Magic

Ask for any field, get it back structured

Our most powerful capability, custom attributes extraction, puts a scraping-tuned Large Language Model behind every request.

Extract mode icon

Extract mode

No more selectors. Use natural language to instruct Zyte API to find and return custom on-page data.

Example
1{
2  "pockets": {
3    "type": "integer",
4    "description": "What is the number of pockets in this garment?"
5  }
6}
Copy
Generate mode icon

Generate mode

Go beyond language-based extraction. Summarize, transform or translate captured data before it is even returned.

Example
1{
2  "datetime_posted": {
3    "type": "string",
4    "description": "the date when the article was created, in the following format: YYYY/MM/DD"
5  }
6}
Copy
Read the docs
See it in action

Add AI Extraction to your first request

Built to work the way you do

AI Extraction drops into your existing Zyte API workflows.

Plays well with Scrapy

Use AI Extraction directly inside your Scrapy spiders with no extra parsing logic — just one parameter in your request and the data arrives structured."

Domain-trained models

Specialized AI models for ecommerce products, articles, jobs, and search engine results ensure accuracy and efficiency.

Flexible schema

Get common fields by default, then customize the schema to fit your needs. Add or remove fields with either code or natural language prompts.

Low-maintenance parsing

Forget fixing brittle selectors when sites change — our AI adapts automatically to evolving page structures.

Simple pricing that scales with your needs

Explore transparent pricing designed to grow with your needs.

See our pricing plans

Awards, five-star reviews and millions of happy customers

The results are in: Zyte customers love our products. Check out these views and reviews on independent sites.

Zyte was able to offer the most simple and effective rotating proxy solution for us. It just works.

Aurélien JemmaCEO at Liwango
Deploy in minutes

Quick to Integrate, Easy to Use.

Add AI Extraction to any request with a single parameter

1import requests
2
3api_response = requests.post(
4    "https://api.zyte.com/v1/extract",
5    auth=("YOUR_ZYTE_API_KEY", ""),
6    json={
7        "url": "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html",
8        "product": True,
9    },
10)
11product = api_response.json()["product"]
Copy