Listing Schema
The Listing schema is designed for aggregating product listings, real estate, classifieds, and similar item-based content.
Fields
Section titled “Fields”| Field | Type | Required | Identity | Description |
|---|---|---|---|---|
title | string | Yes | Yes (1) | Listing title |
url | string | Yes | Yes (2) | Link to the listing |
price | string | No | No | Price or price range |
location | string | No | No | Item location |
images | string[] | No | No | Image URLs |
description | string | No | No | Listing description |
Identity Fields
Section titled “Identity Fields”The identity is computed from title + url in that order. Using URL as part of identity ensures listings from different sources with similar titles are treated as unique.
Example Item
Section titled “Example Item”{ "title": "2BR Apartment in City Center", "url": "https://example.com/listings/12345", "price": "€1,500/month", "location": "Vienna, 1st District", "images": [ "https://example.com/images/apt-1.jpg", "https://example.com/images/apt-2.jpg" ], "description": "Bright 2-bedroom apartment with balcony..."}Use Cases
Section titled “Use Cases”- Real estate aggregators
- Marketplace aggregators
- Classified ad collectors
- Price comparison tools
Extractor Example
Section titled “Extractor Example”{ "container": ".listing-item", "fields": { "title": { "selector": "h2.listing-title", "type": "text" }, "url": { "selector": "a.listing-link", "type": "attribute", "attribute": "href" }, "price": { "selector": ".price", "type": "text" }, "location": { "selector": ".location", "type": "text" }, "images": { "selector": "img.listing-image", "type": "attribute", "attribute": "src", "multiple": true } }}