{"openapi":"3.1.0","info":{"title":"Kanaals public API","version":"1.0.0","description":"Read only data about property listings in Pakistan: short stays, monthly rentals and property for sale. No API key. Every item carries a `url` on kanaals.com: link people to it. Owner phone numbers are not in the API, the visitor gets them on the listing page."},"servers":[{"url":"https://kanaals.com"}],"paths":{"/api/v1/listings":{"get":{"operationId":"searchListings","summary":"Search approved listings","parameters":[{"name":"category","in":"query","required":false,"description":"SHORT_STAY (per night), MONTHLY_RENT (per month) or BUY_SELL (for sale)","schema":{"type":"string","enum":["SHORT_STAY","MONTHLY_RENT","BUY_SELL"]}},{"name":"city","in":"query","required":false,"description":"City slug from /api/v1/cities, for example lahore","schema":{"type":"string"}},{"name":"area","in":"query","required":false,"description":"Area slug from /api/v1/cities, for example gulberg","schema":{"type":"string"}},{"name":"propertyType","in":"query","required":false,"description":"Type of property","schema":{"type":"string","enum":["APARTMENT","HOUSE","VILLA","PLOT","GUEST_HOUSE","ROOM","COMMERCIAL"]}},{"name":"minPrice","in":"query","required":false,"description":"Lowest price in PKR","schema":{"type":"integer"}},{"name":"maxPrice","in":"query","required":false,"description":"Highest price in PKR","schema":{"type":"integer"}},{"name":"bedrooms","in":"query","required":false,"description":"Minimum number of bedrooms","schema":{"type":"integer"}},{"name":"q","in":"query","required":false,"description":"Free text matched against the title and description","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1","schema":{"type":"integer","default":1}},{"name":"limit","in":"query","required":false,"description":"Results per page, up to 50","schema":{"type":"integer","default":20}}],"responses":{"200":{"description":"total, page, limit, totalPages and items. Each item has title, url, category, propertyType, city, area, price (pkr, usdApprox, unit, display), bedrooms, bathrooms, size, summary, image and listedAt.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/listings/{slug}":{"get":{"operationId":"getListing","summary":"One listing with description, amenities and photos","parameters":[{"name":"slug","in":"path","required":true,"description":"Listing slug from a search result","schema":{"type":"string"}}],"responses":{"200":{"description":"The listing summary plus description, amenities, images, listedBy and contact (how and url).","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Listing not found"}}}},"/api/v1/cities":{"get":{"operationId":"listCities","summary":"Cities and areas with the slugs used as filters","responses":{"200":{"description":"cities, each with name, slug, province, marlaSqFt, url and areas.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/areas/{city}/{area}":{"get":{"operationId":"getAreaPrices","summary":"Typical prices for one area","parameters":[{"name":"city","in":"path","required":true,"description":"City slug","schema":{"type":"string"}},{"name":"area","in":"path","required":true,"description":"Area slug","schema":{"type":"string"}}],"responses":{"200":{"description":"city, area, typicalPricesPkr (nightly, monthly rent and sale price per marla), usdPkrRate and url.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Area not found"}}}},"/api/v1/guides":{"get":{"operationId":"listGuides","summary":"Published guides with links","responses":{"200":{"description":"guides, each with title, summary, category, publishedAt, image and url.","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}