Structured web data extraction and validation

Get structured fields from a page without claiming that extraction alone makes the data complete or correct.

From page content to JSON

Request JSON with json.prompt or json.schema. A schema describes the desired structure; your application must still check the response, field types and source evidence before using it.

curl https://api.oassis.dev/web/v1/scrape \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/product","formats":["json"],"json":{"prompt":"Extract the displayed product name, price and currency. Use null for missing values. Do not infer availability.","schema":{"type":"object","properties":{"name":{"type":["string","null"]},"price":{"type":["number","null"]},"currency":{"type":["string","null"]}},"required":["name","price","currency"]}}}'

What cleaning means in this workflow

StepResponsibility
Read the page or convert a supported documentOassis extraction
Convert page content to Markdown or requested JSON fieldsOassis output format
Check schema, missing fields and extraction errorsYour application's validation
Normalize currency, units and time zonesYour explicit business rules
Deduplicate records and match products across storesYour dataset pipeline

Validate before storing

// Example application-side checks after inspecting the API's errors/data.
function validateProduct(value) {
  if (!value || typeof value !== 'object') throw new Error('Missing product');
  if (value.price !== null &&
      (typeof value.price !== 'number' || !Number.isFinite(value.price) || value.price < 0)) {
    throw new Error('Invalid price');
  }
  if (value.currency !== null &&
      (typeof value.currency !== 'string' || !/^[A-Z]{3}$/.test(value.currency))) {
    throw new Error('Currency requires review');
  }
  return value;
}

For full JSON Schema validation use a validator in your application. Record source URL, capture time and selected variant alongside accepted data. A missing price is not zero and a failed page read is not an out-of-stock product.

Cost and limitations

A fresh JSON output costs $0.005. Additional outputs add to that price. Oassis does not promise a separate built-in data cleaning or factual verification service.

Try Scrape & Map · API quick start · Estimate your cost

Oassis basic fresh Markdown extraction: $0.002 per page output. All operation prices and calculator.