{
  "success": true,
  "data": {
    "name": "places.org.ai",
    "version": "0.1.0",
    "description": "Places API powered by ParqueDB and Cloudflare Workers",
    "documentation": "https://places.org.ai/docs",
    "endpoints": {
      "place": {
        "get": {
          "url": "https://places.org.ai/place/{id}",
          "description": "Get place by ID",
          "example": "https://places.org.ai/place/geonames:2643743"
        },
        "batch": {
          "url": "https://places.org.ai/places?ids={id1},{id2}",
          "description": "Batch lookup (max 100)",
          "example": "https://places.org.ai/places?ids=geonames:2643743,geonames:5128581"
        }
      },
      "search": {
        "search": {
          "url": "https://places.org.ai/search",
          "description": "Search places by name",
          "example": "https://places.org.ai/search?q=London&types=P&countries=GB&limit=10"
        },
        "autocomplete": {
          "url": "https://places.org.ai/autocomplete",
          "description": "Autocomplete suggestions",
          "example": "https://places.org.ai/autocomplete?q=Lon&limit=5"
        }
      },
      "geo": {
        "nearby": {
          "url": "https://places.org.ai/geo/nearby",
          "description": "Find places near a point",
          "example": "https://places.org.ai/geo/nearby?lat=51.5074&lng=-0.1278&radius=10&types=P"
        },
        "within": {
          "url": "https://places.org.ai/geo/within",
          "description": "Find places in bounding box",
          "example": "https://places.org.ai/geo/within?bounds=51.3,-0.5,51.7,0.2&types=P"
        },
        "reverse": {
          "url": "https://places.org.ai/geo/reverse",
          "description": "Reverse geocode",
          "example": "https://places.org.ai/geo/reverse?lat=51.5074&lng=-0.1278"
        }
      },
      "hierarchy": {
        "get": {
          "url": "https://places.org.ai/hierarchy/{id}",
          "description": "Get admin hierarchy for a place",
          "example": "https://places.org.ai/hierarchy/geonames:2643743"
        },
        "ancestors": {
          "url": "https://places.org.ai/hierarchy/{id}/ancestors",
          "description": "Get ancestors",
          "example": "https://places.org.ai/hierarchy/geonames:2643743/ancestors"
        },
        "descendants": {
          "url": "https://places.org.ai/hierarchy/{id}/descendants",
          "description": "Get descendants",
          "example": "https://places.org.ai/hierarchy/geonames:2643743/descendants"
        }
      },
      "concordance": {
        "lookup": {
          "url": "https://places.org.ai/concordance/{source}/{id}",
          "description": "Cross-reference lookup",
          "example": "https://places.org.ai/concordance/wikidata/Q84"
        }
      },
      "system": {
        "health": {
          "url": "https://places.org.ai/health",
          "description": "Health check"
        },
        "manifest": {
          "url": "https://places.org.ai/manifest",
          "description": "Data manifest and version info"
        }
      }
    },
    "sources": {
      "geonames": "GeoNames geographic database",
      "overture": "Overture Maps Foundation data",
      "natural_earth": "Natural Earth administrative boundaries",
      "osm": "OpenStreetMap places",
      "wikidata": "Wikidata entities"
    },
    "idFormats": {
      "geonames": "geonames:{numeric_id} (e.g., geonames:2643743)",
      "overture": "overture:{uuid} (e.g., overture:abc123...)",
      "natural_earth": "natural_earth:{numeric_id}",
      "osm": "osm:node:{id} or osm:way:{id} or osm:relation:{id}",
      "wikidata": "wikidata:Q{numeric_id} (e.g., wikidata:Q84)"
    }
  },
  "meta": {
    "timestamp": "2026-04-04T18:24:50.936Z",
    "cached": false
  }
}