estate.sh
Открыть каталог

§ Developers · v1

A public API for Georgia property data.

Read-only, unauthenticated at launch, JSON over HTTPS. Personal and light commercial use with attribution. Heavy usage needs approval.

Base URL
/api/v1
Auth
None
Format
JSON
curl
$ curl https://estate.sh/api/v1/properties\
   ?city=Tbilisi&deal=buy&limit=20

{
  "items": [
    {
      "id": 42,
      "city": "Tbilisi",
      "district": "Vake",
      "price_gel": 260000,
      "area_m2": 86,
      "location_confidence": "street"
    }
  ],
  "page": 1,
  "limit": 20
}

Endpoints

Five resources.
One JSON shape.

Everything you need to render a property search, a detail page, location typeahead, currency conversion, and source attribution. Everything else is filters, sort, and paging on /properties.

  • GET /api/v1/properties List current properties.
  • GET /api/v1/properties/{id} Return one property by estate.sh ID.
  • GET /api/v1/options City, district, and neighborhood filter options.
  • GET /api/v1/suggestions?q=tbi Location suggestions for typeahead.
  • GET /api/v1/rates GEL-based exchange rates used for display.

Filters on /properties

Combine query parameters by group.

Paging

  • page
  • limit
  • cursor

Search

  • q
  • city
  • district
  • neighborhood

Type

  • deal
  • property_kind

Range

  • price
  • area
  • price/m²

Geo

  • source
  • map
  • bbox

Sort values

Five orderings.

  • updated_desc sort=
  • best_deal sort=
  • price_asc sort=
  • price_desc sort=
  • area_desc sort=

Examples

Copy, paste, ship.

7 requests HTTPS · JSON
  1. 01 GET /api/v1/properties?limit=20
  2. 02 GET /api/v1/properties?city=Tbilisi&deal=buy&property_kind=apartment
  3. 03 GET /api/v1/properties?deal=rent&sort=updated_desc
  4. 04 GET /api/v1/properties/42
  5. 05 GET /api/v1/rates
  6. 06 GET /api/v1/options?city=Tbilisi
  7. 07 GET /api/v1/suggestions?q=Batumi

Rules of the road

Three things to know.

Attribution to estate.sh, source attribution preserved on listings, no scraping or resale without approval. API responses may be cached and rate-limited; back off on 429 and retry.

§ 01

Responses & nullability

Responses are JSON. Listing fields can be null or omitted when the source did not publish reliable data. Location confidence is exposed with accuracy and radius fields where available.

§ 02

Currency & safety

Currency values are stored in GEL and may include source USD fields. Public listing responses use a safe field allowlist that excludes raw source payloads, owner names, contact numbers, and internal fields.

§ 03

Errors & versioning

Errors use standard HTTP status codes with JSON where possible. Breaking changes will use a new versioned base path. The machine-readable schema is at /openapi.json.

Need more

Heavier limits, custom feeds, partnerships.

Write to api@estate.sh with use case, expected volume, and attribution plan. We respond within a few working days.