{"openapi":"3.1.0","info":{"title":"IndiaRestros API","version":"1.0.0","description":"India's open restaurant graph. Keyless reads (120/min/IP). Every contact field carries its source.","contact":{"url":"https://indiarestros.com/for-agents"}},"servers":[{"url":"https://indiarestros.com/api/v1"}],"paths":{"/restaurants":{"get":{"operationId":"searchRestaurants","summary":"Search or list restaurants","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Name, dish or cuisine words; \"biryani in kondapur\" works"},{"name":"near","in":"query","required":false,"schema":{"type":"string"},"description":"Free-text place"},{"name":"city","in":"query","required":false,"schema":{"type":"string"},"description":"City slug"},{"name":"locality","in":"query","required":false,"schema":{"type":"string"},"description":"Area slug"},{"name":"state","in":"query","required":false,"schema":{"type":"string"},"description":"State slug"},{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Latitude"},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude"},{"name":"radius_m","in":"query","required":false,"schema":{"type":"integer"},"description":"Radius in metres (default 3000)"},{"name":"kind","in":"query","required":false,"schema":{"type":"string"},"description":"restaurant|cafe|bakery|fast-food|bar|sweets|dhaba|food-court"},{"name":"cuisine","in":"query","required":false,"schema":{"type":"string"},"description":"Cuisine slug"},{"name":"diet","in":"query","required":false,"schema":{"type":"string"},"description":"pure-veg|halal"},{"name":"brand","in":"query","required":false,"schema":{"type":"string"},"description":"Brand slug"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Max 50"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer"},"description":"Paging offset"}],"responses":{"200":{"description":"Results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResult"}}}},"429":{"description":"Rate limited"}}}},"/dishes":{"get":{"operationId":"searchDishes","summary":"Search dishes on menus across India (price INR, veg, restaurant)","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string"},"description":"Dish words; \"masala dosa in indiranagar\" works"},{"name":"dish","in":"query","required":false,"schema":{"type":"string"},"description":"Canonical dish slug"},{"name":"city","in":"query","required":false,"schema":{"type":"string"},"description":"City slug"},{"name":"locality","in":"query","required":false,"schema":{"type":"string"},"description":"Area slug"},{"name":"veg","in":"query","required":false,"schema":{"type":"boolean"},"description":"true for vegetarian items"},{"name":"max_price","in":"query","required":false,"schema":{"type":"integer"},"description":"Max price in INR"},{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Latitude"},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude"},{"name":"radius_m","in":"query","required":false,"schema":{"type":"integer"},"description":"Radius in metres"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Max 60"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer"},"description":"Paging offset"}],"responses":{"200":{"description":"Menu items with their restaurants"}}}},"/restaurants/{id}":{"get":{"operationId":"getRestaurant","summary":"One restaurant with provenance","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Restaurant id, IRR-XXXXXXXXXX"}],"responses":{"200":{"description":"Restaurant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Restaurant"}}}},"404":{"description":"Not found"}}}},"/restaurants/{id}/menu":{"get":{"operationId":"getMenu","summary":"Menu with prices","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Restaurant id, IRR-XXXXXXXXXX"}],"responses":{"200":{"description":"Menu"}}}},"/restaurants/{id}/corrections":{"post":{"operationId":"reportCorrection","summary":"Report a correction","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Restaurant id, IRR-XXXXXXXXXX"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["field","value"],"properties":{"field":{"type":"string","enum":["phone","hours","closed","moved","name","website","menu","other"]},"value":{"type":"string","maxLength":600},"evidence_url":{"type":"string","format":"uri"}}}}}},"responses":{"201":{"description":"Accepted for review"}}}},"/places":{"get":{"operationId":"listPlaces","summary":"States, cities, areas","parameters":[{"name":"type","in":"query","required":false,"schema":{"type":"string"},"description":"state|city|locality"},{"name":"parent","in":"query","required":false,"schema":{"type":"string"},"description":"state:<slug> or city:<slug>"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Max 500"}],"responses":{"200":{"description":"Places"}}}},"/places/{id}":{"get":{"operationId":"getPlace","summary":"A state, city or area","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"state:<slug>, city:<slug> or loc:<city>:<area>"}],"responses":{"200":{"description":"Place"}}}},"/stats":{"get":{"operationId":"getStats","summary":"Dataset counts","responses":{"200":{"description":"Counts"}}}}},"components":{"schemas":{"Sourced":{"type":"object","properties":{"v":{"type":"string"},"src":{"type":"string","description":"osm, overture, owner, website, google, ..."},"at":{"type":"string"}}},"Hit":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"url":{"type":"string"},"kind":{"type":"string"},"cuisines":{"type":"array","items":{"type":"string"}},"locality":{"type":["string","null"]},"city":{"type":["string","null"]},"phone":{"type":"boolean"},"confidence":{"type":"number"},"dist_m":{"type":"number"}}},"SearchResult":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/Hit"}},"count":{"type":"integer"},"next_offset":{"type":["integer","null"]}}},"Restaurant":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"url":{"type":"string"},"kind":{"type":"string"},"phones":{"type":"array","items":{"$ref":"#/components/schemas/Sourced"}},"website":{"$ref":"#/components/schemas/Sourced"},"address":{"type":"object"},"lat":{"type":"number"},"lon":{"type":"number"},"open_now":{"type":["boolean","null"]},"scores":{"type":"object","properties":{"confidence":{"type":"number"},"completeness":{"type":"number"}}},"sources":{"type":"array","items":{"type":"object"}},"updated":{"type":"string"}}}}}}