Skip to main content
A scraper is a saved extraction: a target URL, a schema describing the shape of the data you want, and the AI instructions to get it. Once saved you can run it from the dashboard, the API, a workflow, the agent, or an MCP client — and every run returns the same validated shape. Scrapers are unlimited on every plan, including Free. What you spend is crawl credits per page.

Creating one

1

Point at a URL

Paste the page you want to extract from.
2

Describe the data

In plain English: “Extract the product title, price, rating and whether it’s in stock.” ManyPI generates a JSON schema from that.
3

Review the schema

Adjust field names and types, or write the schema yourself:
4

Test

Run it once and check the output before you wire anything to it.

Running a scraper

Runs are asynchronous. The API accepts the job and returns immediately with a runId, so a slow page never times your request out.
Start a run
202 Accepted
url is optional — omit it to use the scraper’s saved target, pass it to point the same extractor at a different page. Requires the scraper permission on your API key.

Getting the result

Poll:
Or stop polling entirely and configure an outbound webhook in Dashboard → Webhooks to be notified when a run completes. GET /api/runs?limit=20 lists recent runs across all your scrapers with their status and extracted data — the shape polling-based integrations like Zapier expect.

Errors and credits

Credits are consumed by the work actually performed, so a run that fails to fetch anything does not bill you for pages it never retrieved.

When to use a scraper vs the agent

Publish a scraper as an API

Turn any scraper into a typed REST endpoint at app.manypi.com/v1/e/{slug}.