# ScrapingAnt Schemaless AI Data Extraction

> ScrapingAnt Schemaless AI Data Extraction is a paid API for AI agents from vaaya.ai, paid per call via x402, $0.2/call, status unknown (last checked 2026-09-15).

Extracts structured JSON from any webpage using plain-English field descriptions — no schema definition required.

## Facts

- Endpoint: POST https://vaaya.ai/api/run/scrapingant/extract
- Price: $0.2/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/scrapingant-schemaless-ai-data-extraction-18a69c36
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_UISrF4J5ZXfvAv7-hQcng

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability scrapingant-schemaless-ai-data-extraction-18a69c36 -d '<json body>'
```

Example prompt: Scrape this product page — https://www.example.com/product/123 — and extract the product title, price as a number, full description, and reviews as a list with review title and review content for each one, then give me the results as structured JSON.

## When to prefer this

Choose this endpoint when you need to extract data from a webpage quickly without defining a formal JSON schema — ideal for ad-hoc extractions, prototyping, or one-off scraping tasks where field descriptions in plain English are sufficient. Prefer the schema-driven crw/extract endpoint instead for large pages (to control credit cost) or when you need strict type validation. Use this endpoint when flexibility and speed of setup matter more than cost optimization.

## Known failure modes

- Page requires JavaScript rendering but browser flag not set — returns empty or incomplete fields
- Selector specified in wait_for_selector never appears — timeout error returned
- Page is behind a login or paywall — extracted fields return null or empty
- High credit cost for very long pages (1 credit per 30 chars of markdown) — may exceed budget unexpectedly
- Invalid or unreachable URL — HTTP error or connection timeout
- Ambiguous field descriptions may cause incorrect extraction or mismatched data types

## How this service works

ScrapingAnt — AI data extraction WITHOUT a schema: describe the fields in plain English and get structured JSON back. Pass `url` and `extract_properties` — a comma-separated list like 'product title, price(number), full description, reviews(list: review title, review content)'. Optional browser/wait_for_selector/proxy_country/timeout knobs. Vendor cost scales with page length (1 credit per 30 chars of markdown) — prefer crw/extract (schema-driven, 5¢) for big pages; this rung is for quick no-sc…

## Output

A structured JSON object whose keys correspond to the plain-English field names provided in extract_properties, with values automatically parsed from the webpage — numbers returned as numbers, lists as arrays of objects, and text fields as strings.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "$schema": "http://json-schema.org/draft-07/schema#",
     "required": [
      "url",
      "extract_properties"
     ],
     "properties": {
      "url": {
       "type": "string",
       "format": "uri"
      },
      "browser": {
       "type": "boolean"
      },
      "cookies": {
       "type": "string",
       "minLength": 1
      },
      "timeout": {
       "type": "integer",
       "maximum": 60,
       "minimum": 5
      },
      "js_snippet": {
       "type": "string",
       "minLength": 1
      },
      "proxy_country": {
       "type": "string",
       "maxLength": 2,
       "minLength": 2
      },
      "block_resource": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "array",
         "items": {
          "type": "string"
         }
        }
       ]
      },
      "wait_for_selector": {
       "type": "string",
       "minLength": 1
      },
      "extract_properties": {
       "type": "string",
       "maxLength": 2000,
       "minLength": 3
      },
      "return_page_source": {
       "type": "boolean"
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    },
    "pathParams": {
     "type": "object"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/scrapingant-schemaless-ai-data-extraction-18a69c36/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from vaaya.ai](https://www.zero.xyz/host/vaaya.ai/llms.txt)
