# AI-Started Extractions
Source: https://ultimatewebscraper.com/docs/ai/agent-extractions
> Ask Claude or any MCP agent to scrape product pages, build lead lists with emails and social links, or extract map place data — with credit estimates before anything runs.
With a [full-access connection](/docs/ai/security), you can ask your AI assistant to **start a new extraction** for you. These are zero-configuration extractions — no element picking, no selectors — the same technology behind the extension's automatic extraction modes, running in cloud browsers.
- Example prompt: "Pull the name, price and availability from these product URLs: [paste your links]." (One of the ready-made asks — more in Prompts to try.)
## What agents can extract
| Tool | What you get |
| --- | --- |
| **`scrape_pages`** | One row per URL from similar pages of a **single site** — products, listings, articles, job posts, real-estate pages. Structured data is captured automatically, no selectors — the usual answer for "get me data from these pages". Optional extras in the same run: **page metadata** (title, description, social-preview tags as fixed columns) and **phone numbers** |
| **`extract_contacts`** | One row per site across **many different sites** — lead lists. **Emails** by default, **social links** on request (one column per platform), combinable in a single run — the AI-run counterparts of the [Email Extractor](/docs/extension/email-extractor) and [Social Link Extractor](/docs/extension/social-link-extractor). An optional deep scan follows each site's internal links one level deep, so contact and team pages get covered too |
| **`extract_map_places`** | One row per map place page — name, rating, review count, address, phone, website, hours. Search and results links are rejected at estimate time with guidance; place links typically come from the extension's List Extractor |
Metadata always arrives as the same fixed columns for every URL — to pick individual head fields instead, build the step in the extension's [Page Extractor](/docs/extension/page-extractor). (Extractions saved before these tools existed keep running through the legacy `create_extraction` tool.)
Extractions run from a rotating scraping location by default — there's nothing to configure. When a site serves region-specific content (language, currency, availability), the agent can pin a country for the run instead.
## Where the URLs come from
- **Straight from the chat** — paste up to 500 URLs into the conversation.
- **From an existing table** — point the agent at a link column of a table you've already scraped. This is the path for big jobs — up to 10,000 URLs for contact extractions, up to 4,000 for page scrapes and map place extractions — with no pasting. An optional row filter narrows the column to matching rows first (the same conditions as querying a table), and it's also how chaining works: scrape a list once, then have the agent visit every link in it.
- **Discovered from the site** — no URL list at all. Ask for a whole site or a section ("scrape all the products", "just the winter collection") and the agent maps the site's URLs, shows you the groups it found, and extracts from your selection. A fresh sitemap scan is quoted first — 25 credits, charged only when the scan actually finds URLs — and runs once you confirm; a recent scan of the same site is reused free, no confirmation needed.
- Example prompt: "Scrape every product page on [store.com] into one table — find the URLs yourself."
When the site runs Shopify, WooCommerce, Magento or Salesforce Commerce Cloud, the agent can detect that and extract the **whole catalogue** — or chosen collections / categories — as clean product rows, with a credit estimate up front. Whole catalogue is the default; collections and categories are listed only when you ask for specific ones, and every platform can keep in-stock products only. Shopify, WooCommerce and Magento come back as one row per product variant; Salesforce Commerce Cloud lists one row per product with its variation options in the row, and a detail pass (on by default) reads each product's storefront JSON for price, stock and images. Catalogue runs are metered per product rather than per page — see [credit behavior](/docs/ai/tools#credit--safety-behavior). Tables from a Shopify extraction can even be exported as a re-import-ready [Shopify product CSV](/docs/guides/export-shopify-store-to-csv).
## Credit safety: estimate first, run on confirmation
An agent-started extraction **never begins silently**. The first request returns a credit estimate — *"1,240 URLs ≈ 1,240 credits, you have 8,400"* — so the agent can check with you before committing; the extraction only starts on a repeat call that carries your confirmation. For page scrapes the estimate also includes a free peek at the columns the first page yields (when that page is readable), so you usually see what you'll get before spending anything. Extractions cost about **1 credit per page**, the same as any cloud run (see [Credits & plans](/docs/cloud/credits-and-plans)), and runs are refused when your balance doesn't cover the estimate. Credits can never go negative.
URL discovery follows the same pattern: a fresh sitemap scan quotes its fixed cost up front, is charged only when the scan actually finds URLs, and runs on confirmation — see the [tool reference](/docs/ai/tools#credit--safety-behavior).
## Scheduling
Agent-created extractions can carry a recurring schedule, like any other [cloud task](/docs/cloud/scheduling) — so "*check these 200 product pages every morning*" is a single instruction. Automations you already have are manageable in the same conversation too: an agent can rename one, set or change its schedule, or pause and resume it.
- Example prompt: "Re-scrape these [200 product pages] every morning." (Each run saves its results as a table.)
## Guardrails
The same rules as the rest of the product apply:
- **LinkedIn is refused** — it can't be used as a scrape target in any tool.
- **Page scrapes work one site at a time** — `scrape_pages` takes similar pages of a single site. Spanning many different sites is what `extract_contacts` is for: one row per site, as many sites as your list holds.
Runs are asynchronous — the agent gets a run ID immediately and checks progress rather than blocking your conversation, with a live-progress link you can open in the [dashboard](/docs/cloud/running-tasks).
## Example conversation
> **You:** Take the "Listing URL" column from my apartments table and scrape every page into one row each.
>
> **Agent:** I asked `scrape_pages` for an estimate: 486 URLs ≈ 486 credits (you have 9,200). The first page already yields these columns — name, price, address, floor area, year built. Run it?
>
> **You:** Yes.
>
> **Agent:** Confirmed and started. I'll check progress… Done — 486 rows saved as a new table. Want it in Google Sheets?
>
> **You:** Now find contact emails for each agency in the "Agency site" column.
>
> **Agent:** That's 112 different sites — `extract_contacts` estimates about 112 credits, one row per site. Run it?
## Related
- [Prompts to try](/docs/ai/prompts): A ready-made ask for every extraction type on this page.
- [MCP tool reference](/docs/ai/tools): The tools behind these extractions, by name.
- [Security model](/docs/ai/security): Credit protection, access levels, and revocation.
---
# What AI Agents Can Do
Source: https://ultimatewebscraper.com/docs/ai/capabilities
> Connected AI agents can query scraped tables of any size, clean columns, export data, run and schedule automations, and answer product questions from the docs.
Once connected over MCP, an AI assistant gets a focused set of capabilities over your cloud workspace. This page explains them by use case — every capability comes with an ask you can copy and send. The [MCP tool reference](/docs/ai/tools) lists every tool by name, and [Prompts to try](/docs/ai/prompts) is the full cookbook.
## Understand your workspace
The agent can read your plan, credit balance, and its own access level — so it can answer "how many credits do I have left?" and warn you before starting anything expensive.
- Example prompt: "How many credits do I have left, and what access level does this connection have?"
## Work with your data
- **Browse tables** — list all result tables, grouped by the automation that produced them.
- **Inspect** — read a table's schema, row count, and a small sample.
- **Query without limits** — filter, aggregate, group, and sort tables **server-side**. The full table is never loaded into the AI's context, so a 100,000-row table is as easy to analyze as a 100-row one.
- **Export** — generate CSV, JSON, or Excel downloads, or send a table straight to [Google Sheets](/docs/cloud/integrations) (Sheets needs a full-access connection).
- Example prompt: "What's the average price per brand in my [products] table? Rank the brands."
Large tables are never streamed into the conversation. The agent sees the schema plus a sample, then asks the server precise questions. Oversized results are never dumped into the chat — the agent is asked to narrow its query instead.
## Clean your data
With a full-access connection, agents can tidy tables the way you would by hand:
- Rename columns or change their type
- Delete irrelevant columns
- Merge 2–5 columns into one (street + city + zip → Address)
- Delete rows that match a filter — "drop every row with no price or image"
- Remove duplicate rows, keeping the first occurrence
Row deletion is never silent: the agent always gets the match count first and deletes only after you confirm.
- Example prompt: "Clean up my [leads] table — drop the junk columns and remove duplicate rows."
## Operate your automations
- List automations and their run history — including "what ran this week?" (available to every connection, including read-only)
- Inspect any automation in depth: its full configuration, schedule state, recent runs, and latest results table
- Check a run's live progress — and on a failed run, get the reason, how many rows were kept, and what to try next
- Start or stop a run (full access) — starting shows a cost estimate from the automation's own run history first
This is what makes "re-run my competitor price scrape and put results in Sheets" a one-sentence job — including for point-and-click scrapers you [built in the extension](/docs/extension) and run in the [cloud](/docs/cloud/running-tasks).
**Manage your automations** too, with full access: put one on a schedule, change or clear that schedule, pause and resume it, rename it, or delete it. Pausing keeps the schedule in place for when you resume; deleting — always confirmed with you first — removes the automation and its schedule, but the data tables it produced stay.
- Example prompt: "Re-run my [price monitoring] automation and tell me when it's done."
## Start new extractions
With a full-access connection, the agent can also go out and get new data — from pasted URLs, from a URL column of an existing table, or from URLs it discovers itself:
- **Scrape similar pages of one site** — products, listings, articles, job posts, real-estate pages — one row per URL, structured data captured automatically, no selectors. Page metadata and phone numbers can ride along as extra columns.
- **Build lead lists across many sites** — emails and social profiles, one row per site, with an optional deep scan of each site's contact and team pages.
- **Extract map place pages** — name, rating, review count, address, phone, website, and opening hours, one row per place.
- **URL discovery** — mapping a whole site from its sitemaps, so "just the winter collection" becomes a URL table with no pasting.
- **Whole store catalogues** — Shopify, WooCommerce, Magento and Salesforce Commerce Cloud stores extracted as clean product tables, every product and variant.
This is powerful enough to get [its own page](/docs/ai/agent-extractions).
- Example prompt: "Scrape every product page on [store.com] into one table — find the URLs yourself." (Extractions show you a credit estimate first and run only after you confirm.)
## Get product help
The agent has this documentation at its fingertips on every connection, including read-only: it can search and read every docs page — the [extension tools](/docs/extension), the [Cloud Platform](/docs/cloud), [credits](/docs/cloud/credits-and-plans), [guides](/docs/guides) — and answer questions from what the docs actually say, with a link to the right page.
- Example prompt: "Can the List Extractor handle infinite scroll? And how do I schedule a daily scrape?"
## Access levels
| | Read-only | Full access |
| --- | --- | --- |
| Read workspace info, tables, runs | ✔ | ✔ |
| Inspect automations, schedules & run history | ✔ | ✔ |
| Query & export tables | ✔ | ✔ |
| Search & read the product docs | ✔ | ✔ |
| Send tables to Google Sheets | — | ✔ |
| Clean tables (rename/delete/merge columns) | — | ✔ |
| Delete rows & remove duplicates | — | ✔ |
| Start & stop runs | — | ✔ |
| Manage automations (schedule, pause, rename, delete) | — | ✔ |
| Start new extractions | — | ✔ |
| Discover site URLs & extract store catalogues | — | ✔ |
Choose read-only when you want an analyst; choose full access when you want an operator. You pick the level when you [connect](/docs/ai/connect) — on the consent screen for sign-in apps, on the token for everything else.
## Related
- [Prompts to try](/docs/ai/prompts): Every capability above, as a copy-paste ask.
- [MCP tool reference](/docs/ai/tools): The same capabilities, tool by tool.
- [Security model](/docs/ai/security): How access levels, revocation, and credit safety work.
---
# Connect an AI Agent
Source: https://ultimatewebscraper.com/docs/ai/connect
> Connect Claude, ChatGPT, Claude Code, Cursor, or any MCP client to your Ultimate Web Scraper cloud workspace — paste one URL and sign in, or use an access token.
Connecting an AI assistant takes about two minutes, and for most apps it needs exactly one thing: our connector URL. Paste it into the app, sign in when it asks, pick the workspace and access level the app gets, and you're connected. Pick your app below for the exact clicks.
## The connector URL
Every connection starts from the same MCP server URL:
```
https://cloud-api.ultimatewebscraper.com/mcp
```
Also valid: `https://cloud-api.ultimatewebscraper.com/mcp` — the original connector URL. Both point at the same server and both are fully supported, so connections made with either keep working; there is never a reason to reconnect.
Don't open this URL in a browser tab — it only works inside an AI app. It goes wherever your app asks for an MCP server, connector, or integration URL, and the app starts the sign-in for you.
## Pick your app
**Claude**
Claude connects by signing in — no keys, nothing to keep safe.
### Add the connector
In Claude (web or desktop), open **Settings → Connectors → Add custom connector** and paste the connector URL above.
### Sign in and approve
Claude opens a sign-in window. Sign in (or create an account on the spot), pick the **workspace** and **access level** Claude gets, and click **Allow**. If you're mid-signup or mid-upgrade, take your time — the authorization page waits and picks up where you left off.
### Ask for a scrape
Back in Claude, ask something like *"what's in my latest extraction?"* — or grab one from [Prompts to try](/docs/ai/prompts).
Prefer being walked through? The **Connect Claude** button — in the Chrome extension's settings and on the dashboard's **Integrations** page — shows these same steps with the URL ready to copy. There's also a [Claude overview page](/claude) with a demo of what you get.
**Claude Code**
One line in the terminal — you'll be asked to sign in the first time you use it, so there's no token to create here either:
```
claude mcp add --transport http ultimate-web-scraper https://mcp.ultimatewebscraper.com/mcp
```
On sign-in you pick the workspace and access level, same as Claude. Once connected, the ready-made workflows show up as slash commands (type `/` and look for *ultimate-web-scraper*), and any plain-language ask works:
- Example prompt: "Scrape [https://your-site.com] with Ultimate Web Scraper and show me the first rows."
**ChatGPT**
ChatGPT signs in too, but keeps custom MCP connections behind developer mode — so it's a few more clicks, each of them below.
### Turn on developer mode
In ChatGPT, open **Settings → Security and login** and turn on **Developer mode**.
### Add the connection
Go to **Settings → Plugins**, click **+**, give it a name (say, *Ultimate Web Scraper*), paste the connector URL above, and pick **OAuth** as the authentication method.
### Connect and sign in
Create it, then connect: sign in and choose your workspace and access level on the consent screen.
Needs ChatGPT Plus, Pro, Business, Enterprise or Edu, **on the web** — MCP apps aren't available in ChatGPT's mobile apps. On Business, Enterprise and Edu, an admin has to enable developer mode for the workspace first.
The **ChatGPT** card on the dashboard's **Integrations** page hands you the same URL and steps. The [ChatGPT overview page](/chatgpt) shows the whole flow with pictures.
**Cursor & other apps**
Apps that support remote MCP servers with sign-in (OAuth) need only the URL above — paste, sign in, allow, done. For clients that don't sign in — or when you'd rather manage credentials yourself — use an **access token**:
### Create an access token
On the dashboard's **Integrations** page (the extension's **Settings → Connect MCP** takes you straight there), open the **MCP** card and click **Create access token**. Name it after the client it's for ("Cursor — laptop") and pick **read-only** or **full access**.
### Copy the ready-made setup
The dialog immediately shows a paste-ready setup for your client — a terminal command for Claude Code, a configuration block for Cursor and other apps — with the token already embedded. It's shown **only once**, so copy it now.
### Paste it into your client
Cursor: **Settings → MCP → Add server**. Other clients: add the block wherever the app keeps its MCP configuration. Then just ask for a scrape.
Not sure about your app? Look in its settings for **"MCP"**, **"custom connectors"** or **"custom tools"** — if any of those exist, it'll work. The [MCP overview page](/mcp) covers the whole ecosystem.
## Check it's working
Open your app's connector or tools list and confirm **Ultimate Web Scraper** shows up with its tools — in Claude that's the Connectors screen, in Claude Code type `/mcp`, in Cursor the MCP settings list. Then send a first message:
- Example prompt: "What can you do now that Ultimate Web Scraper is connected? List my tables and automations." (A connected agent answers with your actual workspace contents — proof it's wired up. A read-only connection can do this too.)
If no tools appear, see the fixes below — it's almost always a restart.
## Something not working?
**My app doesn't show any Ultimate Web Scraper tools**
Save the settings, then fully restart or reload the app — most MCP clients only pick up a new connection on a fresh start. In Claude, also check the connector is enabled for the conversation (the tools menu in the chat box). Still nothing? Remove the connection and add it again.
**The sign-in page asks me to upgrade**
AI connections are part of the paid cloud plans — see [pricing](/pricing). The authorization page offers the upgrade right there, waits while you do it, and continues where you left off.
**I lost my access token**
Token values can't be viewed again after creation. Revoke the lost one on the Integrations page's MCP card and create a fresh one — it takes seconds, and the new setup snippet comes ready to paste.
**I want to cut an app off**
Everything disconnects from the **Integrations** page: sign-in connections have a disconnect button on their card, tokens a revoke button on the MCP card. Either takes effect immediately.
## Managing your connections
Everything lives on the dashboard's **Integrations** page:
- **Sign-in connections** (Claude, ChatGPT, and any OAuth-connected app) show on their cards, each with a disconnect button that revokes access immediately. A workspace can hold up to 10 connected apps — reconnecting the same app never counts against that.
- **Access tokens** are listed on the MCP card with their name, access level, and last use; revoking one cuts that client off instantly.
How connections are scoped, what each access level allows, and what happens when someone leaves the workspace is all in the [security model](/docs/ai/security).
## Requirements
AI connections need a cloud workspace on a **paid plan** — see [Credits & plans](/docs/cloud/credits-and-plans). What does and doesn't cost credits once you're connected is covered in the [security model](/docs/ai/security#credit-protection).
## Related
- [Prompts to try](/docs/ai/prompts): Copy-paste prompts for your first scrape, cleanup, export, and schedule.
- [What agents can do](/docs/ai/capabilities): Query tables of any size, clean data, operate automations, and get product help.
- [MCP tool reference](/docs/ai/tools): Every tool a connected agent can use, grouped by access level.
- [Security model](/docs/ai/security): Workspace-scoped connections, read-only mode, revocation, and credit safety.
---
# AI Agents & MCP Overview
Source: https://ultimatewebscraper.com/docs/ai
> Connect Claude and other AI assistants to your Ultimate Web Scraper cloud workspace via MCP. Analyze, clean, and launch extractions in plain language.
AI connections are **live for every cloud workspace on a paid plan** — connect Claude, ChatGPT, or any MCP app today. See [/pricing](/pricing).
**Ultimate Web Scraper speaks MCP** (Model Context Protocol) — the open standard that lets AI assistants like Claude, ChatGPT, and Claude Code connect to your tools. Once connected, your AI scrapes with our cloud and works with the results conversationally. Here's what that actually looks like:
Everything ends the same way: a clean table in your cloud workspace that you (and the agent) can [query, clean, and export](/docs/ai/capabilities) — no selectors, no code, no copy-pasting into the chat.
## Start here
- [Connect an AI agent](/docs/ai/connect): Two minutes per app: Claude, Claude Code, ChatGPT, Cursor and any other MCP client.
- [Prompts to try](/docs/ai/prompts): Copy-paste asks for your first scrape, cleanup, export, and daily schedule.
- [What agents can do](/docs/ai/capabilities): Query tables of any size, clean columns and rows, operate automations, get product help.
- [MCP tool reference](/docs/ai/tools): Every tool a connected agent can use, grouped by access level.
- [AI-started extractions](/docs/ai/agent-extractions): Product data, emails, social links, phones, map place pages — and whole store catalogues.
- [Security model](/docs/ai/security): Workspace-scoped connections, read-only mode, revocation, and credit safety.
## How it works
1. **One URL.** Most apps need exactly one thing: the connector URL, pasted into their settings. Clients that don't sign in use an access token from the dashboard's **Integrations** page instead, with a paste-ready setup for each.
2. **Approve once.** Sign in and pick the workspace and access level the app gets — or set the access level when you create the token. The [connect guide](/docs/ai/connect) has the per-app steps.
3. **Just ask.** The agent lists your tables, queries and cleans them, checks on runs, starts new extractions, and answers product questions straight from these docs — all in conversation, all scoped to the one workspace you picked.
## Which AI apps work?
Any MCP-compatible client — the [connect guide](/docs/ai/connect) has the exact clicks for each:
- [Claude](/claude): Web and desktop — one link, sign in. See what connecting looks like.
- [Claude Code](/docs/ai/connect): One command in the terminal; sign in the first time you use it.
- [ChatGPT](/chatgpt): On the web, under developer mode → Plugins — every click covered.
- [Cursor & other MCP apps](/mcp): An access token inside a paste-ready config, for any MCP-capable app.
## Cloud-only, by design
AI agents connect to your **cloud** workspace only. Data extracted locally with the Chrome extension stays on your machine — it is never exposed to agents unless you run the extraction in the cloud. This is the same privacy boundary as the rest of the product: local means local.
Selector-based scrapers (like [List Extractor](/docs/extension/list-extractor) configurations) are still authored visually in the extension. Agents can **run** them in the cloud and use their results — building them stays point-and-click.
## Requirements
- A cloud workspace on a **paid plan** — see [Credits & plans](/docs/cloud/credits-and-plans)
- Reading, querying, cleaning, and exporting data consume **no credits**
- Mapping a site's URLs uses a small flat credit charge — quoted first, applied only when the scan actually finds URLs
- Agent-started extractions consume credits like any other cloud run, always with an estimate first
---
# Prompts to Try
Source: https://ultimatewebscraper.com/docs/ai/prompts
> Copy-paste prompts for scraping with Claude, ChatGPT, or any connected AI agent — scrape stores, find leads, clean tables, schedule re-runs, and export.
Every card below is a real ask: click it to copy, swap the [bracketed] parts for your own sites and links, and paste it into whichever app you [connected](/docs/ai/connect). You don't have to name tools — the agent picks them.
Not sure how a site is best scraped? Start with the analysis — it costs no credits:
- Example prompt: "Analyze [https://example.com] with Ultimate Web Scraper — what's the best way to scrape it?" (Costs no credits — it detects the platform, finds the sitemap, and proposes a strategy before anything scrapes.)
## Scrape something new
- Example prompt: "Scrape every product page on [store.com] into one table — find the URLs yourself." (Maps the site from its own sitemap and lets you pick the sections.)
- Example prompt: "Scrape the entire catalogue of [your-store.com] — every product and variant." (On a Shopify, WooCommerce, Magento or Salesforce Commerce Cloud store: every product and variant; Shopify tables also export as a Shopify CSV.)
- Example prompt: "Pull the name, price and availability from these product URLs: [paste your links]." (The credit estimate comes with a free peek at the columns the first page yields.)
- Example prompt: "Find the contact emails and social profiles on these supplier sites: [paste your links]." (One row per site — a deep scan can also follow each site's contact and team pages.)
- Example prompt: "Get the name, rating, phone and opening hours for these map place links: [paste your links]." (Individual place pages, one row per place — a search or results link won't run, and the estimate says so.)
- Example prompt: "Take the [Company URL] column from my [YC directory] table and find the social profiles for each company." (Pointing at a table column is the path for big jobs — thousands of URLs, no pasting.)
- Example prompt: "Scrape [store.com] every morning so I always have a fresh table." (Agent-created extractions can carry a schedule like any cloud task — each run saves its results as a table.)
Any ask that would start an extraction comes back as a credit estimate first — *"1,240 URLs ≈ 1,240 credits, you have 8,400. Run it?"* — and runs only after you confirm. Mapping a site's URLs works the same way: a small flat charge quoted up front, applied only when the scan actually finds URLs — and a recent map of the same site is reused free. Details in [AI-started extractions](/docs/ai/agent-extractions).
## Ask questions of your data
Queries run server-side, so a 100,000-row table answers as fast as a 100-row one — and none of it floods your chat:
- Example prompt: "Which of the companies in my [suppliers] table don't have an email address?"
- Example prompt: "What's the average price per brand in my [products] table? Rank the brands."
- Example prompt: "Show me the 20 cheapest in-stock products under [$50] from yesterday's scrape."
- Example prompt: "How many credits do I have left?"
## Clean it up
- Example prompt: "Clean up my [leads] table — drop the junk columns and merge street, city and zip into one Address column."
- Example prompt: "Delete every row with no price or image. Tell me how many rows match before deleting anything." (Deletion always reports the match count first and waits for your confirmation.)
- Example prompt: "Remove the duplicate rows from my [contacts] table."
## Get it out
- Example prompt: "Export that table as Excel." (A download link valid for 24 hours, plus a link to browse the table online. CSV and JSON work the same way.)
- Example prompt: "Send my [products] table to Google Sheets." (Needs the Google Sheets connection from the dashboard. Each export creates a new spreadsheet.)
- Example prompt: "Give me the Shopify import CSV for my [catalogue] table." (Available on tables that came from a Shopify extraction.)
## Run what you've already built
Agents operate any automation in your workspace — including point-and-click scrapers you built in the extension and sent to the cloud:
- Example prompt: "Re-run my [price monitoring] automation and tell me when it's done."
- Example prompt: "How is my last run going? How many rows so far?"
## Ask how the product works
The agent can search and read this documentation, so product questions get answered from what the docs actually say — with a link to the right page:
- Example prompt: "How do I schedule a daily scrape?"
- Example prompt: "Can the List Extractor handle infinite scroll?"
## Related
- [What agents can do](/docs/ai/capabilities): The full capability tour — data, cleanup, automations, extractions, product help.
- [AI-started extractions](/docs/ai/agent-extractions): What each extraction type captures, URL limits, and how credit safety works.
- [MCP tool reference](/docs/ai/tools): Every tool behind these prompts, grouped by access level.
---
# AI Connection Security
Source: https://ultimatewebscraper.com/docs/ai/security
> How Ultimate Web Scraper keeps AI agent access safe — workspace-scoped connections, read-only mode, instant revocation, rate limits, and credit protection.
Giving an AI agent access to your data deserves a clear security model. Here's ours.
## Two kinds of connections
| | Sign-in connections | Access tokens |
| --- | --- | --- |
| **Who uses them** | Claude, ChatGPT, and any app that supports OAuth | Cursor and other clients that don't sign in |
| **How you approve** | On a consent screen — you pick the workspace and the access level | You create and name a token on the **Integrations** page, picking its access level |
| **Where the secret lives** | No secret ever passes through your hands | Shown a single time at creation; only a hash is stored |
Both kinds are managed from the dashboard's **Integrations** page — see [Connect an AI agent](/docs/ai/connect). A workspace can hold up to 10 connected apps, and a lost token is never a crisis: revoke it and make a new one.
And whichever kind you use, every connection is:
- **Workspace-scoped.** A connection can only ever reach the workspace it was approved for — never another workspace, and never anyone else's data.
- **Instantly revocable.** Disconnect an app or revoke a token from the Integrations page and access ends immediately. Connections also stop working automatically if the person who created them leaves the workspace.
- **Rate-limited** against runaway clients.
## Access levels
Every connection is created with one of two levels — picked on the consent screen for sign-in apps, or on the token for everything else:
- **Read-only** — the agent can analyze tables, query data, and check run status. It cannot change anything or spend anything.
- **Full access** — adds cleanup operations, starting/stopping runs, and creating new extractions.
Start read-only; upgrade to full access when you trust the workflow. The [capabilities page](/docs/ai/capabilities#access-levels) has the full side-by-side table.
## Credit protection
- Reading, querying, cleaning, and exporting data consume **no credits**.
- Starting an extraction returns a **cost estimate first** so the agent can confirm with you — see [AI-started extractions](/docs/ai/agent-extractions) for how that reads in practice.
- Two things charge as soon as you ask for them: mapping a site's URLs (a small flat credit charge, only when the scan actually finds URLs) and re-running an automation you already built (about 1 credit per page, like any cloud run).
- Runs are refused when the balance is empty — balances can't go negative.
## Privacy boundaries
- **Local data stays local.** Agents can only see cloud data. Tables in the Chrome extension's local storage are never exposed — neither is your computer, your files, your open tabs, or your browsing history.
- **No cross-workspace access.** Team members' other workspaces are invisible to a connection.
- **Large-response protection.** The server refuses to dump oversized data into a conversation and asks the agent to narrow its query instead.
## Security best practices
1. Create one token per AI client, named after it ("Cursor — laptop", "Cursor — work machine"), so revocation is surgical.
2. Prefer read-only connections for analysis-only workflows.
3. Disconnect apps and revoke tokens you no longer use — reconnecting takes seconds.
## Related
- [Connect an AI agent](/docs/ai/connect): The per-app setup, and where connections are managed and revoked.
- [What agents can do](/docs/ai/capabilities): Exactly what each access level unlocks.
- [Credits & plans](/docs/cloud/credits-and-plans): What credits are, what they buy, and how balances work.
---
# MCP Tool Reference
Source: https://ultimatewebscraper.com/docs/ai/tools
> Every MCP tool a connected AI agent can use in Ultimate Web Scraper — querying tables, cleanup, exports, automations, site discovery, and store catalogue extraction.
A connected AI agent works through a set of named tools — you ask in plain language, the agent picks the right one, and most clients show each call as it happens. You never call these yourself, but knowing what's on the shelf helps you ask for the right things — and [Prompts to try](/docs/ai/prompts) turns each of them into a ready-made ask.
## The scraping toolkit at a glance
What a full-access agent can scrape, with the tool it calls to do it:
On top of the ready-made extractors, the agent also:
- runs any point-and-click scraper you've [built in the extension](/docs/extension) and sent to the cloud
- keeps any job on a [recurring schedule](/docs/cloud/scheduling)
- answers "how do I…?" questions [straight from these docs](/docs/ai/capabilities#get-product-help)
## Reading & analysis — every connection
The tools below are available to every connection, including [read-only](/docs/ai/capabilities#access-levels) ones.
| Tool | What it does |
| --- | --- |
| `get_workspace_info` | Your plan, credit balance, and the connection's access level |
| `list_tables` | Lists your result tables, grouped by the automation that produced them |
| `get_table` | One table's columns, row count, and a small sample of rows |
| `query_table` | Filters, aggregates, groups, and sorts a table of any size — the full table never enters the conversation |
| `export_table` | Generates a download link in the format you pick — CSV, JSON, or Excel. Tables produced by a Shopify extraction can also export as a re-import-ready [Shopify product CSV](/docs/guides/export-shopify-store-to-csv) |
| `list_automations` | Your automations, their schedules, and their status |
| `get_automation` | One automation's setup at a glance — what it scrapes, its schedule state, recent runs, and the latest results table |
| `list_runs` | The run history of an automation, optionally limited to runs since a given time — "what ran this week?" |
| `get_run` | A run's live progress and row count so far, plus links to watch it or open the results table. On a failed run it adds what went wrong, how many rows were kept, and what to try next |
| `search_docs` | Searches this documentation to answer product questions |
| `get_docs_page` | Reads a single docs page in full |
| `list_docs` | The documentation's table of contents |
## Cleaning & operating — full access
| Tool | What it does |
| --- | --- |
| `run_automation` | Runs an automation — it estimates the cost from the automation's run history first, and starts only after you confirm |
| `update_automation` | Renames an automation or reworks its schedule — sets or clears the cron, pauses it without losing the schedule, resumes it — and reports back the resolved next run |
| `delete_automation` | Deletes an automation and its schedule, with confirmation first — its data tables survive |
| `stop_run` | Stops a run in progress |
| `export_table_to_google_sheets` | Sends a whole table to a new spreadsheet in your Google Drive (uses the [Google Sheets integration](/docs/cloud/integrations)) |
| `update_column` | Renames a column or changes its type |
| `delete_columns` | Deletes columns you don't need |
| `merge_columns` | Merges 2–5 columns into one (street + city + zip → Address) |
| `delete_rows` | Permanently deletes the rows matching a filter — it reports the match count first and deletes only after you confirm |
| `deduplicate_rows` | Removes duplicate rows, keeping the first occurrence — with the same count-first confirmation |
## Extracting — full access
| Tool | What it does |
| --- | --- |
| `analyze_website` | Free first look at any site you want scraped: identifies the platform, checks for a sitemap, and returns the extraction strategies that apply |
| `scrape_pages` | Scrapes similar pages of one site — products, listings, articles, job posts, real-estate pages — into one row per URL, the structured data captured automatically, no selectors. Page metadata and phone numbers can join as extra columns. Takes up to 500 pasted URLs, up to 4,000 from a table's URL column (with an optional row filter), or a sitemap discovery. The credit estimate comes first — with a free peek at the columns the first page yields, when that page is readable — and the scrape starts only after you confirm |
| `extract_contacts` | Builds a lead list across many different sites — one row per site with emails, social profile links, or both in one run, one column per platform. An optional deep scan follows each site's internal links one level to reach contact and team pages. Up to 500 pasted URLs or 10,000 from a table column; credit estimate first, runs on your confirmation |
| `extract_map_places` | Turns map place-page links — typically gathered with the extension's List Extractor — into one row per place: name, rating, review count, address, phone, website, and hours. Search and results links are rejected up front with guidance. Up to 500 pasted URLs or 4,000 from a table column; credit estimate first, runs on your confirmation |
| `create_extraction` | Legacy starter kept so saved workflows keep working — new extractions go through the three tools above |
| `discover_sitemap` | Maps a site's URLs into a grouped overview — the starting point for "scrape this whole site" or "just the winter collection". A fresh scan quotes a flat 25 credits and runs once you confirm, charged only when it actually finds URLs; a recent scan of the same site is reused free, no confirmation needed. The same idea as the extension's [Sitemap Explorer](/docs/extension/sitemap-explorer), run for you by the agent |
| `select_sitemap_urls` | Filters a discovery — by group, search term, or exclusions — into a URL table that feeds straight into `scrape_pages` |
| `list_shopify_collections` | Lists or searches a Shopify store's collections by name |
| `extract_shopify_store` | Extracts a Shopify store's catalogue — the whole store or chosen collections — as one clean row per product variant. Estimates credits and asks before running |
| `list_catalog_collections` | Lists or searches collections (Shopify) or product categories (WooCommerce, Magento, Salesforce Commerce Cloud) on a store with a structured catalogue. On WooCommerce, Magento and Salesforce Commerce Cloud this runs only after you pick specific categories — analyze skips the list so it stays fast |
| `extract_catalog` | Extracts a Shopify, WooCommerce, Magento, or Salesforce Commerce Cloud catalogue as structured product data. All four use the same scope as the UI: whole catalogue (default), or chosen collections/categories, optionally in-stock only. On Salesforce Commerce Cloud a detail pass (on by default) reads each product's storefront JSON for price, stock, images and variation options. `preview:true` samples the chosen scope for free |
What each extraction type captures, and its URL limits, live in [AI-started extractions](/docs/ai/agent-extractions).
## Ready-made prompts
The connection also includes starter prompts — one-click workflows like "Find and scrape a site's pages", "Scrape a store catalogue", or "Clean up a messy table" — that appear in Claude's connector menu and as slash commands in Claude Code. Only ones your access level can run are shown.
## Credit & safety behavior
- Reading, querying, cleaning, and exporting consume **no credits**. A fresh site discovery uses a flat 25-credit charge, only when it actually finds URLs — a recent scan of the same site is reused free.
- Store catalogues are metered per product rather than per page: a 5-credit base plus about 1 credit per 100 products (per 250 on Shopify), and about 0.1 credit per product where a detail pass reads each product's own data — Shopify's optional inventory pass, WooCommerce variations, and the Salesforce Commerce Cloud pass that reads each product's storefront JSON (on by default). Magento variants ride along in the listing at no extra cost. The estimate shows the total before anything runs.
- Anything that spends credits or removes data happens in **two steps**: starting an extraction, running an automation, or a fresh site discovery shows you a credit estimate first — and deleting rows or an automation shows a match count or a confirmation — and nothing runs until you confirm. An extraction never begins silently.
- Oversized results are never dumped into the chat — the agent is asked to narrow its query instead.
More in the [security model](/docs/ai/security).
## Related
- [Prompts to try](/docs/ai/prompts): Ready-made asks that exercise every tool on this page.
- [Connect an AI agent](/docs/ai/connect): Two minutes from the dashboard's Integrations page to a working connection.
- [AI-started extractions](/docs/ai/agent-extractions): What agent-created extractions capture and how credit safety works.
---
# Cookies & Sessions: Scrape Behind Logins in the Cloud
Source: https://ultimatewebscraper.com/docs/cloud/cookies-and-sessions
> Clone your current browser session's cookies and localStorage into a cloud browser so logged-in extractions keep working when they run without you.
Some pages only show their data to logged-in users. Locally that's a non-issue — the extension runs in your own browser, with your session, so it sees exactly what you see. A cloud browser starts logged out. **Cookies & Storage cloning** fixes that.
## How it works
When creating a task in the [Run in Cloud wizard](/docs/cloud/running-tasks), expand the **Cookies & Storage** group. Enabling it clones your **current browser session's cookies and localStorage** into the cloud browser, so the cloud run visits the target site as your logged-in session.
That makes logged-in extractions work in the cloud: member directories, dashboards, gated listings — anything your account can see, the cloud browser can now extract, including on a [schedule](/docs/cloud/scheduling) while you're away.
Session cloning only reads the current site's cookies and storage, and only when you enable it for a task — nothing is accessed at install time or in the background. If you never clone a session, nothing is ever read.
## Local vs. cloud with logins
| | Extension (local) | Cloud with session cloning |
| --- | --- | --- |
| How it authenticates | Uses your live browser session natively | Copies your session's cookies and localStorage at task creation |
| Setup | None — just be logged in | Enable Cookies & Storage in the wizard |
| Stays valid | As long as you're logged in | Until the cloned session expires on the site's side |
If a site logs sessions out quickly, a long-running schedule may eventually hit expired cookies — recreate the task while logged in to refresh the cloned session.
Session cloning is meant for extracting data that **your own account** legitimately has access to. Check the target site's terms of service before scraping logged-in areas, never clone sessions for accounts that aren't yours, and be conservative with scheduling frequency on authenticated sites.
## When you don't need this
Leave Cookies & Storage off (the default) for public pages — most extractions don't need a session, and the [proxy and unblocking settings](/docs/cloud/proxies-and-unblocking) cover the usual reliability needs.
## Related
- [Guide: scrape behind logins](/docs/guides/scrape-behind-logins): A step-by-step walkthrough for authenticated extractions.
- [Running cloud tasks](/docs/cloud/running-tasks): Where the Cookies & Storage group lives in the wizard.
- [Local vs. cloud](/docs/getting-started/local-vs-cloud): How local and cloud execution differ.
---
# How Cloud Credits Work
Source: https://ultimatewebscraper.com/docs/cloud/credits-and-plans
> Understand cloud credits — 1 credit per page extracted — how they're granted and topped up, and why local extension use is always free and unlimited.
The Cloud Platform runs in cloud browsers and is metered in **credits**. The model is simple, and the most important rule comes first: **the extension's local tools never consume credits and are always unlimited**, whether or not you have a cloud plan.
## How credits work
- **1 cloud credit = 1 page extracted in the cloud.** A cloud run over 500 URLs costs about 500 credits.
- **AI features also consume credits.** The [Page Unblocker](/docs/cloud/proxies-and-unblocking) uses credits on top of the per-page cost when it handles a challenge.
- **Credits are granted up front** with your plan, and can be **topped up** if you run out before renewal.
Because [scheduled tasks](/docs/cloud/scheduling) re-extract their pages on every run, schedule frequency is the main lever on credit consumption — a task that runs more often, over more pages, uses more credits.
## Plans and prices
Cloud plans differ by credit allowance and features. **Current plans, prices, and allowances live on the [pricing page](/pricing)** — they aren't listed here so you always see live numbers. Any paid cloud plan also unlocks the extension's full feature set, so one subscription covers both the extension and the cloud.
## Local stays free
Without a cloud plan you can still use every local extension tool with no page or row caps — credits only apply to cloud runs. Creating a cloud task without an active plan shows an upgrade prompt.
Estimate credits as pages per run × runs per period. Test locally first (free), check the URL count, then pick a schedule your allowance supports comfortably.
## Related
- [Pricing](/pricing): Current plan prices and credit allowances.
- [Scheduling](/docs/cloud/scheduling): How run frequency drives credit consumption.
- [Local vs. cloud](/docs/getting-started/local-vs-cloud): What's free locally vs. metered in the cloud.
---
# The Cloud Dashboard: Tasks, Data & Workspaces
Source: https://ultimatewebscraper.com/docs/cloud/dashboard
> Manage cloud automations, run history, data tables, exports, workspaces, and billing from one web dashboard — everything your cloud runs produce.
The [cloud dashboard](/cloud) is the web home of the Cloud Platform. Every cloud task you create, every run it performs, and every table it produces lives here — open it from any browser, no extension required.
You can also jump to it from the extension: the **CLOUD** button in the side panel's action bar and the **Dashboard** button in the cloud section both open it in a new tab.
## Automations and tasks
The dashboard lists your cloud automations with their **run history**. Each run has a **timeline** showing how it progressed — what was extracted, what failed, and why. This is where you check on [scheduled tasks](/docs/cloud/scheduling) and confirm that recurring runs are producing what you expect.
## Cloud data tables
Every run's results are stored as a data table. The dashboard's table view is built for large results:
- **Virtualized viewing** — big tables stay fast to scroll and browse.
- **Editing** — fix cells and adjust columns directly in the browser.
- **Filtering** — narrow rows down before exporting.
- **Exports** — CSV, Excel, JSON, Clipboard, and Google Sheets.
- **Batch image download** — grab all images referenced in a table at once.
Cloud tables are separate from the extension's local Data Table: local results stay on your machine, cloud results live here. Cloud tables are also what [AI agents can reach over MCP](/docs/ai).
## Profile and workspaces
Cloud accounts support **multiple workspaces**, each with its own automations, tables, and credit balance. A **shared workspace** lets teammates work from the same automations and data. You switch workspaces in the dashboard (and in the extension's settings).
## Billing and subscription
Your plan, credit balance, and subscription management live in the dashboard's billing area. This is also where plan changes and top-ups happen — see [Credits & plans](/docs/cloud/credits-and-plans) for how the model works, and [/pricing](/pricing) for current prices.
## Integrations
The dashboard's integrations area covers the services your tasks export to, such as Google Sheets. Per-task integration settings are chosen when [creating the task](/docs/cloud/running-tasks); see [Integrations](/docs/cloud/integrations) for the export modes.
## Related
- [Running cloud tasks](/docs/cloud/running-tasks): Create the tasks whose runs and tables appear here.
- [Cloud credits](/docs/cloud/credits-and-plans): How cloud credits are metered and topped up.
- [AI connections](/docs/ai): Query and clean cloud tables with an AI agent.
---
# Cloud Platform Overview: Scraping in Cloud Browsers
Source: https://ultimatewebscraper.com/docs/cloud
> Run and schedule web scraping in cloud browsers with built-in proxies, anti-blocking, and a results dashboard — no computer needed. Start here.
The Cloud Platform runs your extractions in **cloud browsers** — so your scrapers keep working after you close your laptop, on a recurring schedule if you want, with proxies and anti-blocking built in. Results land in a web [dashboard](/docs/cloud/dashboard) instead of your local browser.
## What the cloud gives you
- **Runs without your computer.** Tasks execute on cloud infrastructure; you check results whenever you like.
- **[Scheduling](/docs/cloud/scheduling)** from every 10 minutes to monthly.
- **[Proxies and unblocking](/docs/cloud/proxies-and-unblocking)** — ISP or residential proxies with location choice, plus automatic handling of supported challenges.
- **[Integrations](/docs/cloud/integrations)** — push results to Google Sheets or a webhook on every run.
- **A web dashboard** at [/cloud](/cloud) with run history, data tables, exports, and workspaces.
Cloud runs require a paid plan and consume [credits](/docs/cloud/credits-and-plans) — 1 credit per page extracted. Local extraction in the extension stays free and unlimited.
## What can run in the cloud today
| Tool | Cloud support |
| --- | --- |
| [List Extractor](/docs/extension/list-extractor) | Yes |
| [Page Extractor](/docs/extension/page-extractor) — including Google Maps mode | Yes |
| [Email Extractor](/docs/extension/email-extractor) | Yes |
| [Social Link Extractor](/docs/extension/social-link-extractor) | Yes |
| Image Downloader | Not yet |
| Shopify Extractor | Not yet from the extension — a connected AI agent can extract store catalogues in the cloud (see below) |
More cloud tools are planned.
Store catalogues are the one exception to "build it locally first": with an [AI agent connected](/docs/ai), you can ask for a whole Shopify, WooCommerce, Magento or Salesforce Commerce Cloud catalogue and it runs in the cloud with nothing built in the extension — every product and variant, whole catalogue or chosen collections / categories, credit estimate first. See [AI-started extractions](/docs/ai/agent-extractions) and the [`extract_catalog` tool](/docs/ai/tools).
## The recommended flow
**Build and test locally.** Configure the extraction in the extension and run it on your machine — it's free, instant, and easy to iterate on.
**Send it to the cloud.** Open **Run in Cloud** in the side panel and pick that working automation. See [Running cloud tasks](/docs/cloud/running-tasks).
**Schedule, integrate, monitor.** Add a schedule, proxies, or a Google Sheets export, then follow results in the dashboard.
There is no free-form "paste a URL" box in the cloud wizard — you always start from a configuration you've already run locally, which is what makes cloud runs reliable.
## Explore the section
- [Running cloud tasks](/docs/cloud/running-tasks): The Run in Cloud wizard: pick an automation, configure, and launch.
- [Scheduling](/docs/cloud/scheduling): 11 presets, from every 10 minutes to monthly.
- [Integrations](/docs/cloud/integrations): Google Sheets and webhook exports, configured per task.
- [Proxies & unblocking](/docs/cloud/proxies-and-unblocking): ISP and residential proxies, plus the Page Unblocker.
- [Cookies & sessions](/docs/cloud/cookies-and-sessions): Clone your session so logged-in extractions work in the cloud.
- [The dashboard](/docs/cloud/dashboard): Tasks, run history, data tables, workspaces, and billing.
- [Cloud credits](/docs/cloud/credits-and-plans): How cloud credits are metered and topped up.
## Related
- [Local vs. cloud](/docs/getting-started/local-vs-cloud): How the extension and the Cloud Platform fit together.
- [Schedule recurring extractions](/docs/guides/schedule-recurring-extractions): A step-by-step guide to your first scheduled cloud task.
---
# Cloud Integrations: Google Sheets & Webhooks
Source: https://ultimatewebscraper.com/docs/cloud/integrations
> Send cloud extraction results straight to Google Sheets or a webhook, export from the dashboard in any format, or query your data with AI agents.
Cloud tasks can push their results out automatically on every run. Both integrations are configured per task in the [Run in Cloud wizard](/docs/cloud/running-tasks), under the **Integrations** group, and both are **off by default**.
## Google Sheets export
Sends each run's results to a Google spreadsheet. Three modes control what happens on recurring runs:
| Mode | Behavior |
| --- | --- |
| Create new | Each run creates a fresh sheet |
| Replace | Each run overwrites the sheet's contents |
| Append | Each run adds rows to the existing sheet |
**Append** pairs naturally with [scheduled tasks](/docs/cloud/scheduling) — a price monitor that appends daily builds a history you can chart directly in Sheets. **Replace** suits "always show me the current state" jobs like a refreshed lead list.
## Webhook export
Sends each run's results to a URL you provide, so your own tools can react the moment a run finishes — update a database, trigger a Zap, post to Slack, whatever sits behind your endpoint. Configure it in the same Integrations group when creating the task.
## Where results always live
Integrations are additive — with or without them, every run's results are stored as data tables in the [cloud dashboard](/docs/cloud/dashboard). From there you can view, edit, and filter tables, and export to:
- CSV
- Excel
- JSON
- Clipboard
- Google Sheets
So you don't need to configure an integration up front: you can always pull data out of the dashboard later. Integrations matter when you want data delivered **automatically on every scheduled run**.
## Third option: AI agents
Your cloud tables are also reachable by AI agents. Connect Claude or another MCP-capable assistant to your workspace and it can query, analyze, clean, and export your cloud data in plain language — see [AI connections](/docs/ai), and the [connection guide](/docs/ai/connect) for the two-minute setup.
## Choosing a path
| You want to… | Use |
| --- | --- |
| Look at results, clean them, export occasionally | The [dashboard](/docs/cloud/dashboard) |
| Keep a spreadsheet continuously up to date | Google Sheets export |
| Feed results into your own system on every run | Webhook export |
| Ask questions about the data conversationally | [AI agents / MCP](/docs/ai) |
## Related
- [Running cloud tasks](/docs/cloud/running-tasks): Where the Integrations group lives in the wizard.
- [The dashboard](/docs/cloud/dashboard): Data tables, editing, and manual exports.
- [AI connections](/docs/ai): Let AI agents query and clean your cloud data over MCP.
---
# Proxies & Page Unblocker for Cloud Scraping
Source: https://ultimatewebscraper.com/docs/cloud/proxies-and-unblocking
> Choose ISP or residential proxies with country and city targeting, and let the Page Unblocker handle challenge pages automatically.
Cloud browsers come with two reliability features you configure per task in the [Run in Cloud wizard](/docs/cloud/running-tasks): **Browser Location** (which proxy the cloud browser uses) and the **Page Unblocker** (what happens when a page throws a challenge).
## Browser Location (proxies)
Every cloud run goes through a proxy. You choose the type and where it appears to be from:
- **Proxy type:** ISP or Residential.
- **Location:** pick a country, and optionally a city.
- **Default:** ISP proxy with a random location — no configuration needed for most sites.
### ISP vs. residential — when to use which
| | ISP | Residential |
| --- | --- | --- |
| What it is | IPs registered to internet service providers, served from stable infrastructure | IPs from real consumer connections |
| Best for | Most sites; fast, reliable default | Sites that aggressively block datacenter-adjacent traffic |
| Rule of thumb | Start here | Switch if ISP runs get blocked |
Location targeting matters when a site serves different content per region — prices, availability, listings, or language. Set the country (and city, if offered) to match the market you want to see.
## Page Unblocker
The Page Unblocker handles challenge pages and blocking overlays during a cloud run:
- **Cloudflare Turnstile challenges are handled automatically** — the run continues and the page is extracted.
- **Other captcha types are detected but not solved.** DataDome, reCAPTCHA, and hCaptcha are recognized, but those pages fail with a clear error rather than hanging.
- **It consumes [credits](/docs/cloud/credits-and-plans)** — like other AI features, unblocking uses your credit balance on top of the 1-credit-per-page extraction cost.
A page that hits an unsolvable captcha errors out individually; the rest of the task keeps running. Check the run timeline in the [dashboard](/docs/cloud/dashboard) to see which pages failed and why.
## A practical escalation path
**Run with defaults** — ISP proxy, random location. This works for most sites.
**Pages failing on a challenge?** Enable the Page Unblocker if the failures are Cloudflare challenges.
**Still failing?** Switch Browser Location to a Residential proxy, and pick a country close to the site's audience.
Note that locally, the extension has no proxy or captcha handling at all — it browses as you. Proxies and unblocking are cloud-only capabilities.
## Related
- [Running cloud tasks](/docs/cloud/running-tasks): Where Browser Location and Page Unblocker live in the wizard.
- [Cloud credits](/docs/cloud/credits-and-plans): How extraction and unblocking consume credits.
- [Cookies & sessions](/docs/cloud/cookies-and-sessions): Another way past barriers: bring your logged-in session.
---
# Running Cloud Tasks: The Run in Cloud Wizard
Source: https://ultimatewebscraper.com/docs/cloud/running-tasks
> Send a tested local extraction to a cloud browser with the Run in Cloud wizard — pick an automation, configure proxies and integrations, then run.
Cloud tasks are created from the extension's side panel with a two-step **Run in Cloud** wizard. You hand a working local extraction to a cloud browser, tune how it should run, and launch it.
Open the wizard from the **Run in Cloud** card on the side panel home screen, or from the cloud button inside a supported tool.
## Step 1 — Select an automation
You pick a **previously-run local automation** from your history. The list shows your past runs, filtered to the [cloud-supported task types](/docs/cloud): List Extractor, Page Extractor (including Google Maps mode), Email Extractor, and Social Link Extractor.
The wizard intentionally has no free-form URL input. You configure and test the extraction locally first — where iteration is free and instant — then send the proven setup to the cloud. If you haven't run anything yet, two demo automations are available so you can try the flow.
## Step 2 — Configure
The configure screen shows a preview card for the selected automation, the [schedule picker](/docs/cloud/scheduling), and expandable configuration groups:
| Group | What it controls | Default |
| --- | --- | --- |
| Automation | The extraction itself: URLs, selectors, pagination | As tested locally |
| Page Unblocker | Captcha and block handling ([details](/docs/cloud/proxies-and-unblocking)) | — |
| Integrations | [Google Sheets and webhook exports](/docs/cloud/integrations) | Off |
| Browser Location | [ISP or residential proxy](/docs/cloud/proxies-and-unblocking), country/city | ISP, random location |
| User Agent & Viewport | Device presets | Your current browser |
| Data Cleanup | Remove empty, duplicate, sparse, and repeating rows and columns | On |
| Cookies & Storage | [Clone your session](/docs/cloud/cookies-and-sessions) into the cloud browser | Off |
The defaults are sensible: most tasks only need a schedule, and perhaps a proxy location or a Sheets export.
## Launch
Submit with **Run Now** (one-off) or **Run & Schedule** (recurring). Either way, **the task always runs immediately on creation** — a scheduled task doesn't wait for its first slot, so you can verify it works right away.
The success screen links to the [dashboard](/docs/cloud/dashboard), where you'll see the run's timeline and its results table as rows come in. Each page the cloud browser extracts consumes one [credit](/docs/cloud/credits-and-plans).
## Related
- [Scheduling](/docs/cloud/scheduling): Turn a one-off task into a recurring one with 11 presets.
- [Proxies & unblocking](/docs/cloud/proxies-and-unblocking): Pick the right proxy type and handle blocked pages.
- [The dashboard](/docs/cloud/dashboard): Where your cloud runs and results live.
---
# Cloud Scheduling: Recurring Web Scraping
Source: https://ultimatewebscraper.com/docs/cloud/scheduling
> Schedule cloud extractions from every 10 minutes to monthly with 11 built-in presets. Ideal for price monitoring, lead lists, and content tracking.
Every cloud task can run on a recurring schedule. You pick a preset when creating the task in the [Run in Cloud wizard](/docs/cloud/running-tasks) — choose **Run & Schedule** instead of **Run Now** — and the cloud re-runs the extraction for you from then on.
## The 11 presets
| Preset | Behavior |
| --- | --- |
| Off | Runs once, no recurrence |
| Every 10 minutes | High-frequency monitoring |
| Every 30 minutes | |
| Hourly | |
| Every 6 hours | |
| Every 12 hours | |
| Daily | Runs at midnight UTC |
| Every 2 days | Runs at midnight UTC |
| Every 3 days | Runs at midnight UTC |
| Weekly | Runs Sundays at midnight UTC |
| Monthly | Runs on the 1st at midnight UTC |
Two things to know:
- **Day-level schedules run at midnight UTC.** Daily, multi-day, weekly, and monthly presets all fire at 00:00 UTC; a specific time of day isn't available.
- **There is no custom cron field in the UI.** If none of the presets fit exactly, choose the nearest one.
Regardless of the schedule, the task also [runs immediately when you create it](/docs/cloud/running-tasks), so you can confirm it works before the first scheduled run.
## What scheduling costs
Each scheduled run extracts pages, and each page consumes one [cloud credit](/docs/cloud/credits-and-plans). A frequent schedule on a large URL list adds up — pick the slowest interval that still fits your use case.
## Common use cases
- **Price monitoring.** Re-extract product pages daily or hourly and watch prices change over time in the [dashboard](/docs/cloud/dashboard), or push each run to Google Sheets.
- **Lead list refresh.** Re-run an Email Extractor or Google Maps task weekly so your list stays current without manual work.
- **Content tracking.** Check a news section, job board, or listing site every few hours and let a [webhook](/docs/cloud/integrations) notify your own tooling.
## Managing schedules
Scheduled tasks, their run history, and per-run timelines all live in the [cloud dashboard](/cloud). That's where you review what each run produced and manage the automation going forward.
## Related
- [Guide: schedule recurring extractions](/docs/guides/schedule-recurring-extractions): A full walkthrough, from local test to recurring cloud task.
- [Running cloud tasks](/docs/cloud/running-tasks): How the Run in Cloud wizard works, step by step.
- [Cloud credits](/docs/cloud/credits-and-plans): How recurring runs consume credits.
---
# Data Table
Source: https://ultimatewebscraper.com/docs/extension/data-table
> The spreadsheet-like workspace where every extraction lands. Edit cells, rename and retype columns, filter, search, and clean data — all stored locally.
Every extraction lands in the **Data Table** — a spreadsheet-like workspace that opens in its own browser tab. Open it anytime with the **DATA** button in the side panel; it also opens automatically for List Extractor previews and from every tool's progress overlay.
## Local storage and retention
All rows are stored **locally in your browser** — nothing is uploaded unless you export to Google Sheets or use [cloud](/docs/cloud) features. Duplicate rows within a table are skipped automatically.
Retention keeps the newest **500 tables by default**, configurable to the last 100, 500, or 1,000 in Settings → Data Management. There's no row cap per table. Since data is device-local, uninstalling the extension or clearing site data deletes it.
## Working with tables
- **Table selector:** every table listed newest-first with favicon, name, live row count, tool tag, and date — searchable, with the most recent auto-opened.
- **Live mode:** while an extraction runs, the open table refreshes every few seconds with a new-rows indicator (pausable).
- **Sample tables** are bundled so you can try every feature — including all exports — for free.
- **CSV import:** bring any CSV in as a new table.
## Editing
- **Cells:** inline editing, with modification history.
- **Columns:** rename; change type (10 types: text, number, price, date, link, image, email, phone, address, metadata); drag to reorder; resize; delete; and **merge** two or more columns into a new combined column with a separator of your choice.
- **Sorting:** click any header (ascending/descending); the default order is the original input order.
- **Search:** case-insensitive across all columns — and applied before exports, so you can export just the matching rows.
## Cleanup filters
Rule-based (not AI) one-click cleanup: remove empty rows and columns, remove duplicate or repeating columns, hide mostly-empty columns, and prioritize data density. Image display options control thumbnail size and how image lists render.
Tables from a zero-config step keep their own shape: [Automatic Extract](/docs/extension/page-extractor#automatic-extract-structured-data-without-selectors) and [Page Metadata](/docs/extension/page-extractor#page-metadata-the-head-tags-as-fixed-columns) publish a curated column set, so those tables stay in their declared order and skip the column-removal filters — a field only some pages fill (an article's author) or one that's the same on every page (Site Name) is still part of the schema. Columns that are empty on *every* row are still dropped.
## Debug columns
Some extractions capture more than they show. Raw structured-data blobs (`_raw_jsonld`), the full meta-tag dump from Page Metadata (All Meta Tags), and a few redundant sub-fields are marked as **debug columns**: extracted losslessly, hidden from the table and from exports by default so the useful columns stay readable.
Turn on **Show debug columns** in the filters to reveal them — useful when a value you expected didn't land in a named column and you want to see exactly what the page published.
## Images
Image columns render as **thumbnails** with a lightbox gallery. The **bulk image download modal** downloads all images or specific image columns, with sequential, by-column, or custom-pattern naming.
## What it doesn't do
- **No table-to-table merging** — two tables can't be combined into one (column merge works within a single table only).
- **No local AI features** — there's no LLM-based cleanup in the extension. AI cleanup (rename, retype, merge, delete columns by asking an agent) exists for **cloud** tables via MCP — see [AI connections](/docs/ai).
## Related
- [Exporting data](/docs/extension/exporting-data): CSV, Excel, JSON, Google Sheets, Shopify CSV — and what's free.
- [Recipes](/docs/extension/recipes): Save the extraction that produced a table and re-run it.
- [AI connections (MCP)](/docs/ai): Let AI agents query and clean your cloud tables.
---
# Email Extractor
Source: https://ultimatewebscraper.com/docs/extension/email-extractor
> Find email addresses across many pages at once, with deep scanning of internal links, obfuscated-email detection, custom patterns, and domain filters.
The Email Extractor finds email addresses across one or many pages — and, with deep scanning, across the pages those pages link to. Point it at a list of company websites and it comes back with one row of emails per site.
## Adding URLs
Three sources:
- **Manual Input** — type or paste URLs directly.
- **Upload CSV** — pick the column that contains URLs.
- **Data Source** — reuse a URL column from a previous extraction (for example, a website column scraped with the [List Extractor](/docs/extension/list-extractor)).
## Deep scan
Deep scanning is **on by default**: for each URL you give it, the tool also follows the page's internal links and scans those pages for emails — which is usually where contact and about pages live.
| Setting | Default | Range |
| --- | --- | --- |
| Depth | 1 (the seed page's direct links) | 1–5 |
| Max links followed per page | 10 | 1–50 |
| Stay on domain | on | Only follows same-hostname links |
| Delay between requests | 1500 ms | 0–5000 ms |
Mailto/tel/javascript links, page fragments, and asset files (documents, images, media, scripts) are skipped automatically. Each URL gets up to 2 attempts; permanent errors like 404s aren't retried, and failures never stop the batch.
## What it detects
Detection runs on the page's rendered text plus mailto links:
- **Standard addresses**, including variants with spaces around the @ sign.
- **Obfuscated addresses**, normalized to real ones: "name (at) domain dot com", `[at]` and `{at}` style brackets, "at … dot …" spellings, and similar tricks.
- **Mailto links**, with query parameters stripped.
- **Custom regex patterns** you supply (one per line; off by default).
Results are deduplicated globally across all scanned pages, lowercased, and validated. An optional **domain filter** keeps only addresses from domains you list.
You can also toggle on **social link collection** to capture social profiles in the same run — that's the full [Social Link Extractor](/docs/extension/social-link-extractor) engine.
## Output
One row per seed URL, in input order, streamed live into the [Data Table](/docs/extension/data-table):
| Column | Content |
| --- | --- |
| URL | The seed URL |
| Emails | All emails found, comma-joined |
| Email Count | How many |
With social collection on, you also get one column per social platform.
## Recipes
Recipes are fully supported. Deep scan, obfuscation handling, custom patterns, and domain filters are all included; the Faster Extraction toggle runs several tabs in parallel for large jobs.
## Limitations
- LinkedIn URLs can't be scanned as targets.
- Emails that only exist inside images, or that require interaction to reveal, aren't detected.
- Content that never renders into the page isn't captured (the tool waits for contact signals to settle, which covers most JavaScript-rendered pages).
## Related
- [Guide: Find emails on any website](/docs/guides/find-emails-on-any-website): A lead-list walkthrough from URL list to export.
- [Social Link Extractor](/docs/extension/social-link-extractor): The same engine, tuned for social profiles.
- [Exporting data](/docs/extension/exporting-data): Get your email list out as CSV, Excel, or Sheets.
---
# Exporting Data
Source: https://ultimatewebscraper.com/docs/extension/exporting-data
> Export your extracted tables as CSV, Excel, JSON, Google Sheets, or Shopify CSV — all from the Data Table's Export menu. Filter first to export just the rows you want.
Every extraction runs locally with no page or row caps, and you get your results out from the [Data Table's](/docs/extension/data-table) **Export** menu.
## Formats
| Format | Details |
| --- | --- |
| CSV | UTF-8 with BOM, properly escaped |
| Excel (.xlsx) | Styled header, autofilter, frozen header row |
| JSON | Pretty-printed |
| Google Sheets | Copies the data and opens a new sheet to paste into |
| Shopify CSV | Import-ready format; appears on Shopify tables only |
| Copy to Clipboard | Tab-separated values, paste anywhere |
A couple of details worth knowing:
- Your current table **search is applied before export** — filter first to export just the rows you want.
- Which formats and export volumes are included depends on your plan — see [pricing](/pricing) for what each plan covers.
## Try every format with sample tables
The bundled **sample tables let you try every export format** — CSV, Excel, JSON, Google Sheets, whatever fits your workflow — so you can confirm the output works for you before committing to a real job.
## Where exports don't apply
- **Sitemap Explorer** has its own URL CSV export — [discovered URL lists](/docs/extension/sitemap-explorer) download as a one-column CSV.
- **Image downloads** aren't table exports: the [Image Downloader](/docs/extension/image-downloader) saves image files directly, and the Data Table has a separate bulk image-download modal for image columns.
- **Cloud tables** export from the web dashboard — see the [Cloud Platform](/docs/cloud).
Viewing, editing, cleaning, and searching your extracted data in the Data Table are never gated — everything you extract stays fully accessible.
## Related
- [Data Table](/docs/extension/data-table): Clean and filter your data before exporting it.
- [Shopify Extractor](/docs/extension/shopify-extractor): Produces the import-ready Shopify CSV format.
- [Pricing](/pricing): What each plan includes.
---
# Image Downloader
Source: https://ultimatewebscraper.com/docs/extension/image-downloader
> Scan a page for every image — including lazy-loaded images and CSS backgrounds — filter by size or type, and download them all into one organized folder.
The Image Downloader finds every image on a page and downloads the ones you want in bulk. Open the tool and it **automatically scans the current tab** — no setup step.
## Scanning
Images appear grouped by **size category** (Tiny up to Extra Large) and by similar dimensions, largest groups first. From there you can:
- **Filter** by search text (alt text, URL, dimensions), min/max width and height, file extension, image type, size category, or whether the image has alt text.
- **Auto-scroll** — turn it on and re-scan to capture lazy-loaded and infinite-scroll images. The tool steps down the page nudging images to load, keeps collecting even on virtualized pages, then restores your scroll position.
- Download **per image**, **per group**, or **Download all**.
## What it finds
- `` tags, including common lazy-load attributes and the largest candidate from srcset.
- **CSS background images** and pseudo-element content images.
- Excluded: `data:` URIs, hidden images, and very small icons. Duplicates are removed by URL.
## Three source modes
| Mode | What it scans |
| --- | --- |
| **Scan Page** | The current tab |
| **Scan Pages** | A list of page URLs, batch-scanned in background tabs (1–5 in parallel) with pre-scan filters like "Large only" or "Photos only" |
| **Import URLs** | Direct image URLs — pasted, from a CSV, or from a data source — downloaded directly |
## How downloads work
- Images download as **individual files, not a ZIP**, with no per-file save dialogs.
- Everything lands in a **timestamped folder** inside your Downloads directory, e.g. `images_2026-07-11_14-30-00`.
- **Smart filenames:** original filename (optional), falling back to sanitized alt text, falling back to a dimensions-based name — with automatic deduplication.
- **Multi-page organization** (Scan Pages mode): keep all files together, create a subfolder per page, or prefix filenames with the page name.
- Downloads run a few at a time and can be cancelled.
## Limitations
Single-page scanning, all filters, auto-scroll, and downloads run right in your browser. Scan Pages and Import URLs handle multi-page and direct-URL jobs; bulk-downloading images from a table's image columns lives in the [Data Table](/docs/extension/data-table).
- **No recipes** — this tool is interactive rather than a saved automation.
- `data:`-URI images can't be captured.
- Imported URLs blocked by CORS land in an "Unknown" size group but remain downloadable.
- LinkedIn is not supported, and browser-internal pages can't be scanned.
## Related
- [Guide: Bulk download images](/docs/guides/bulk-download-images): From product page to organized image folder.
- [Data Table](/docs/extension/data-table): Image thumbnails, lightbox, and bulk download from image columns.
- [Exporting data](/docs/extension/exporting-data): Every format for getting your data out.
---
# Chrome Extension
Source: https://ultimatewebscraper.com/docs/extension
> Seven point-and-click extraction tools that live in Chrome's side panel. Everything runs locally in your browser — free, uncapped, and no code required.
The Ultimate Web Scraper extension lives in Chrome's **side panel** and turns web pages into structured data with clicks, not code. Extraction runs entirely in your browser: results stay on your machine, and running any tool locally is free with no page or row caps.
## The side panel
Open the side panel and you'll find:
- **Quick List Extraction** — the yellow cursor button. One click starts an element picker and instantly grabs any visible list or table on the current page. It's the fastest path from "I see a list" to "I have a spreadsheet" (see the [Quickstart](/docs/getting-started/quickstart)).
- **A grid of seven tools** — each built for a specific job, listed below.
- **Recipes** — saved extraction setups you can re-run or share (see [Recipes](/docs/extension/recipes)).
- **Cloud section** — send a tested extraction to the [Cloud Platform](/docs/cloud) to run on a schedule without your computer.
- **Nav buttons** — MENU (home), CLOUD (web dashboard), and DATA, which opens the [Data Table](/docs/extension/data-table) in its own tab.
## The seven tools
Each tool is built for one job, with its own color and icon in the side panel — pick the tool that matches what you're extracting:
## Around the tools
Three features complete the workflow — URL discovery before a run, and your results workspace after:
The grid above includes the [Sitemap Explorer](/docs/extension/sitemap-explorer) (reachable from inside the Page Extractor), the [Data Table](/docs/extension/data-table) where every result lands, and [Recipes](/docs/extension/recipes) for saving setups.
## Behaviors every tool shares
- **Results stream to the Data Table.** Every tool writes rows live into the [Data Table](/docs/extension/data-table) — a spreadsheet-like tab where you edit, clean, and [export](/docs/extension/exporting-data).
- **Progress overlays with Stop.** Long runs show live counts; you can stop at any time and keep the partial results, then jump straight to "View data & export CSV".
- **Welcome screens.** Each tool introduces itself on first use; you can re-open the intro anytime from the tool's About button.
- **Some pages are off-limits.** LinkedIn is not supported as a target in any tool, and browser-internal pages (like `chrome://` pages) can't be scanned.
## Free and local
All seven tools run locally in your browser with no page or row caps. Cloud runs and some advanced options are part of the paid plans — see [pricing](/pricing) for what's included.
---
# List Extractor
Source: https://ultimatewebscraper.com/docs/extension/list-extractor
> Turn any repeating list, grid, or table into a spreadsheet with one click. Handles infinite scroll, pagination, and Load More — free and uncapped locally.
The List Extractor turns any repeating content on a page — search results, product grids, directories, tables — into structured rows. You click one item; it detects the whole list.
## How it works
### Select the list
Click **Click to Select List**. An element picker appears on the page: hovering highlights the detected list container and shows how many items were found ("List with 24 items found — Smart detection"). Click to select it.
### See an instant preview
The moment you select, the tool extracts the currently visible items and opens the [Data Table](/docs/extension/data-table) with a live preview — so you know within seconds whether the selection is right.
### Choose how to load more items
Pick one of three methods (default: **Auto-Scroll**), then start the extraction. Rows stream into the Data Table as they're found.
## The three load-more methods
| Method | How it works | When it stops |
| --- | --- | --- |
| **Auto-Scroll** (default) | Scrolls the page or container to trigger infinite scroll, extracting items as they appear | At the bottom, or when scrolling stops surfacing new items |
| **Pagination** | You pick the "Next" button or link with the picker; the tool extracts a page, clicks Next, waits for the page to change, and repeats | When no valid Next button is found |
| **Load More** | You pick a same-page "Load more" button; the tool clicks it repeatedly and extracts each new batch | When clicking stops surfacing new items |
There is **no row or page cap** — pagination and Load More run until the content is exhausted or you press Stop (partial results are kept). Pagination is click-based; there's no URL-pattern page generation.
## What gets captured
Field detection is automatic. For each item, the tool captures:
- All visible **text**, deduplicated per element
- **Links** — `` hrefs, resolved to absolute URLs
- **Images** — including lazy-loaded sources, with alt text captured as a description
- **CSS background images** and video posters
- **ARIA labels** on image-role elements (how star ratings on sites like Google Maps get captured)
Columns are auto-typed (text, link, image, number, price, date, rating, time) and auto-named (Title, Description, Price, Author, Date, Rating, Reviews, Link, Image). You can't pre-select fields — extract everything, then remove unwanted columns in the [Data Table](/docs/extension/data-table).
## Speed profiles
Three profiles — **Slow**, **Normal**, and **Fast** (the default) — control how long the tool waits for content to load, how quickly it scrolls, and how patiently it retries. Fast suits most sites; switch to Normal or Slow for pages that load content sluggishly and appear to miss items. Every timing value is individually editable and your changes persist.
## Recipes
**Fully supported.** Save the selection, load-more method, and timing as a [recipe](/docs/extension/recipes); running it auto-navigates your tab to the saved source URL. Extraction runs locally with no page or row caps.
## Limitations
- List items must be **direct children of one container**, and smart detection needs at least 3 similar items.
- **No shadow DOM or iframe traversal** — content inside shadow roots or cross-origin iframes isn't reachable.
- The instant preview covers only items currently rendered on the page; run a full extraction to get the rest.
- LinkedIn is not supported.
## Related
- [Guide: Scrape any list](/docs/guides/scrape-any-list): A step-by-step walkthrough with a real example.
- [Page Extractor](/docs/extension/page-extractor): Extracted a column of links? Visit each one and pull details.
- [Exporting data](/docs/extension/exporting-data): Get your list out as CSV, Excel, JSON, or Google Sheets.
---
# Page Extractor
Source: https://ultimatewebscraper.com/docs/extension/page-extractor
> Visit a list of URLs and extract the same fields from every page — one row per URL. Feed it CSVs, previous extractions, or sitemaps. No URL count cap.
The Page Extractor visits a list of URLs and pulls the same fields from every page — **one row per URL**. It's built for "collection of similar pages" jobs: product pages, profiles, articles, Google Maps places.
## Step 1: Where the URLs come from
Five sources (there's no free-text paste box in this tool):
| Source | What it does |
| --- | --- |
| **Upload CSV** | Auto-detects which columns contain URLs; you pick the column |
| **Data Source** | Pulls a URL column from a previous extraction stored locally — this is how [List Extractor](/docs/extension/list-extractor) results chain into the Page Extractor: extract a list of links, then visit each link |
| **Sitemap Explorer** | Discovers URLs from the current site's sitemaps — see [Sitemap Explorer](/docs/extension/sitemap-explorer) |
| **Cloud Data Source** | Cloud-synced tables, when you're signed in to the [cloud](/docs/cloud) |
| **Recipe** | Prefilled by a saved [recipe](/docs/extension/recipes) |
The first URL loads into your active tab so you can pick elements against a real page. Individual URLs can be removed before starting.
## Step 2: What to extract
You build an ordered list of extraction steps; each step adds columns to the row:
- **Element picker** — click elements on the loaded page to define fields. Each picked element gets robust multi-selector fallbacks.
- **Automatic Extract** — zero-config structured-data extraction (see below).
- **Page Metadata** — the head tags only: title, description, image, author, dates, canonical URL (see below). A specialist step for when metadata is exactly what you're after. Free.
- **Phone Numbers** — regex plus `tel:` link detection across the page. Free.
- **Google Maps** — place name, rating, address, phone, website, hours and more from Google Maps listings. Offered when Maps URLs are detected in your list; needs no picked elements.
## Automatic Extract: structured data without selectors
If a page publishes structured data, you may not need to pick anything. Automatic Extract reads a page's **JSON-LD, microdata, and Open Graph/Twitter/standard meta tags**, identifies the page's subject entity (Product, Article, JobPosting, Event, Recipe, LocalBusiness, real-estate listing and more), and flattens it into one clean row per URL. If the first page you load contains structured data, the step is added for you automatically.
For products, columns include: name, price, availability, currency, brand, color, size, material, rating with review count, category, SKU, GTIN, MPN, images, and more. It works on any site with structured data — WooCommerce, Magento, custom stores, news sites, job boards.
**Variants consolidate into one row per URL** — a product with 12 variants stays one row, with multi-value cells joined by commas. Known limits: it doesn't read JavaScript globals or RDFa, and list-style pages collapse to a single row.
## Page Metadata: the head tags as fixed columns
Most runs don't need this step — Automatic Extract above already reads Open Graph and meta tags, and falls back to them for name, description and image when a page publishes no structured data. Reach for **Page Metadata** when the metadata itself is the point: SEO audits, share-preview checks, or a content inventory where you want the head tags and nothing else. You get the same columns for every URL, whatever each page is about:
| Column | Read from |
| --- | --- |
| Title | `og:title` → `twitter:title` → JSON-LD headline/name → `` → first `