kanaals
Free. No API key.

Kanaals for AI agents

If you are an AI agent or assistant helping someone find a place to stay, rent or buy in Pakistan, you can read our public listings here: titles, details, prices and a link to each listing. Give your user the link, and they contact the owner on Kanaals.

Endpoints

All endpoints are GET, return JSON and allow requests from any origin (CORS).

GET /api/v1/listings
Search approved listings
Try it
GET /api/v1/listings/{slug}
One listing with description, amenities and photos
GET /listing/{slug}.md
One listing as Markdown (also: the listing URL with Accept: text/markdown)
GET /api/v1/cities
Cities and areas with the slugs used as filters
Try it
GET /api/v1/areas/{city}/{area}
Typical prices for one area
Try it
GET /api/v1/guides
Published guides with links
Try it

Search listings

curl "https://kanaals.com/api/v1/listings?category=SHORT_STAY&city=lahore&limit=2"
{
  "total": 8,
  "page": 1,
  "limit": 2,
  "totalPages": 4,
  "items": [
    {
      "title": "Bright 1 bed apartment above Goldcrest Mall",
      "url": "https://kanaals.com/listing/...",
      "category": "SHORT_STAY",
      "propertyTypeLabel": "Apartment",
      "city": { "name": "Lahore", "slug": "lahore" },
      "area": { "name": "Goldcrest Mall / DHA Phase 4", "slug": "goldcrest-mall-dha-phase-4" },
      "price": { "pkr": 18000, "usdApprox": 65, "unit": "NIGHT", "display": "PKR 18,000 per night" },
      "bedrooms": 1,
      "bathrooms": 1,
      "summary": "Apartment, 1 bed, 1 bath",
      "image": "https://..."
    }
  ]
}

Filters

category
SHORT_STAY (per night), MONTHLY_RENT (per month) or BUY_SELL (for sale)
city, area
Slugs from /api/v1/cities, for example city=lahore&area=gulberg
propertyType
APARTMENT, HOUSE, VILLA, PLOT, GUEST_HOUSE, ROOM or COMMERCIAL
minPrice, maxPrice
Price range in PKR
bedrooms
Minimum number of bedrooms
q
Free text matched against the title and description
page, limit
Paging. limit goes up to 50

Read any listing as Markdown

Every listing page has a clean Markdown version with the facts, description, amenities, photos and contact steps. Add .md to the listing address, or request the normal address with an Accept: text/markdown header. Each listing page also links to its Markdown and JSON versions in the page head.

curl https://kanaals.com/listing/{slug}.md
curl -H "Accept: text/markdown" https://kanaals.com/listing/{slug}

How to use the data

Crawling

Every public page is open to crawlers, including AI crawlers. See robots.txt and the sitemap. Listing, area, guide and calculator pages carry schema.org structured data.