{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/postfinder-io/main/json-schema/postfinder-io-search-response-schema.json", "title": "SearchResponse", "description": "Matches, best first.", "x-generated": "2026-10-02", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/postfinder-io-openapi.json#/components/schemas/SearchResponse", "type": "object", "properties": { "data": { "type": "array", "description": "Suburbs and places.", "items": { "$ref": "#/$defs/SearchHit" } }, "generated_at": { "type": "string", "description": "When the answer was made. Answers are cached at the edge, so it can be up to an hour old.", "format": "date-time" } }, "required": [ "data", "generated_at" ], "additionalProperties": false, "$defs": { "SearchHit": { "type": "object", "description": "A suburb or a place matching what was typed, with enough to link to its page.", "properties": { "kind": { "type": "string", "description": "A suburb or a place.", "enum": [ "locality", "place" ] }, "slug": { "type": "string", "description": "The URL segment this row has on postfinder.io." }, "name": { "type": "string", "description": "The name to show." }, "country": { "type": "string", "description": "Country slug." }, "region": { "type": "string", "description": "Region slug." }, "locality": { "type": "string", "description": "For a place, its suburb's slug." }, "place_count": { "type": "integer", "description": "For a suburb, how many locations it holds." }, "postcode": { "type": "string", "description": "The suburb's postcode, for a suburb or a place, where held." }, "lat": { "type": "number", "description": "Latitude, where held." }, "lng": { "type": "number", "description": "Longitude, where held." }, "score": { "type": "number", "description": "How well it matched, 0 to 1. Rows come best first." } }, "required": [ "kind", "slug", "name", "country", "region", "score" ], "additionalProperties": false } } }