Event Schema
The Event schema is designed for aggregating events from venues, organizers, and event platforms.
Fields
Section titled “Fields”| Field | Type | Required | Identity | Description |
|---|---|---|---|---|
title | string | Yes | Yes (1) | Event title |
venue | string | Yes | Yes (2) | Venue or location name |
date | string | Yes | Yes (3) | Event date |
time | string | No | No | Event time |
url | string | No | No | Link to event details or tickets |
description | string | No | No | Event description |
price | string | No | No | Ticket price or “Free” |
tags | string[] | No | No | Categories or tags |
Identity Fields
Section titled “Identity Fields”The identity is computed from title + venue + date in that order. This captures that the same event at the same venue on the same date is a duplicate, even if scraped from multiple sources.
Example Item
Section titled “Example Item”{ "title": "Jazz Night", "venue": "Blue Note Vienna", "date": "2026-02-15", "time": "20:00", "url": "https://bluenote.at/events/jazz-night", "description": "An evening of classic jazz standards", "price": "€25", "tags": ["jazz", "live music", "concert"]}Use Cases
Section titled “Use Cases”- Local event aggregators
- Cultural calendars
- Venue listing sites
- Community event boards
Extractor Example
Section titled “Extractor Example”{ "container": ".event-card", "fields": { "title": { "selector": "h3.event-title", "type": "text" }, "venue": { "selector": ".venue-name", "type": "text" }, "date": { "selector": ".event-date", "type": "text" }, "time": { "selector": ".event-time", "type": "text" }, "url": { "selector": "a.event-link", "type": "attribute", "attribute": "href" }, "price": { "selector": ".ticket-price", "type": "text" } }}