Schemas

Define the structure of the data you want to extract

A schema tells the agent what shape the extracted data should have. Ev3ry uses JSON Schema — the same standard used by REST APIs and OpenAPI specs.

Creating a schema

Open Schemas in the sidebar and click New Schema. Write or paste a valid JSON Schema object. Schemas are saved globally and can be attached to any website.

app.ev3ry.io/schemas

Data Schemas

Manage data schemas across all your websites

All schemas
Search…

Match Odds

5 fields

Global

Player Stats

8 fields

Global

Event Listings

6 fields

Premier League

Schema structure

Extraction results are almost always a list of objects. The typical shape is:

{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "field_name": { "type": "string", "description": "hint for the agent" },
      "price":      { "type": "number" },
      "url":        { "type": "string", "format": "uri" },
      "available":  { "type": "boolean" },
      "date":       { "type": "string", "format": "date" }
    },
    "required": ["field_name", "price"]
  }
}

Supported types

JSON Schema typeDescription
stringAny text value
numberInteger or float
booleantrue / false
string with "format": "date"ISO date: 2026-03-08
string with "format": "date-time"ISO datetime: 2026-03-08T19:30:00Z
string with "format": "uri"Full URL

Using description for accuracy

Add a "description" to any property. The agent reads these as hints when deciding how to map page content to your schema:

"home_team": {
  "type": "string",
  "description": "the name of the home team, not the city"
}

More specific descriptions produce more accurate extraction.

Example schemas

Sports fixtures

{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "home_team":  { "type": "string" },
      "away_team":  { "type": "string" },
      "kickoff":    { "type": "string", "format": "date-time" },
      "venue":      { "type": "string" },
      "competition":{ "type": "string" }
    },
    "required": ["home_team", "away_team", "kickoff"]
  }
}

Product listings

{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "name":         { "type": "string" },
      "price":        { "type": "number", "description": "current sale price in USD" },
      "rating":       { "type": "number" },
      "review_count": { "type": "number" },
      "in_stock":     { "type": "boolean" },
      "product_url":  { "type": "string", "format": "uri" }
    }
  }
}

Reusing schemas

Schemas are defined at the workspace level. The same schema can be attached to multiple websites — useful when you extract the same data structure from different sources (e.g., the same "Match Odds" schema across five different betting sites).

Validation

The agent validates its extraction output against your schema before finalizing the run. If the output doesn't match, it retries with refined logic (up to a limit). This is what makes extractions reliable — the schema acts as a contract the agent must satisfy.