Skip to content

About

Free, no-auth REST API for Polish real estate: listings, agencies, and TERYT geography. OpenAPI 3.0.3.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Dimdom Public API

Free, read-only REST API for Polish real estate data from dimdom.pl — property listings (houses, flats, plots, garages, rooms, commercial, warehouses), agency & developer profiles, blog articles, and the full Polish TERYT geographic hierarchy (województwa → powiaty → gminy → miejscowości → ulice).

Base URL

https://api.dimdom.pl/api/public

Endpoints

Method & path Description
GET /listings Cursor-paginated listing search (filter by type, price, location, owner)
GET /listings/{id} Full canonical listing (POIs, environment, details, agency)
GET /entities/{slug} Agency / developer profile + agents + active listing count
GET /blog/posts Published blog posts (filter by language, tag)
GET /blog/posts/{slug} Single blog post with rendered content
GET /geo/hierarchy Browse the TERYT geographic tree (level, parentId, search)
GET /feeds/listings.xml Atom 1.0 feed of recently published listings
GET /export/listings.ndjson Bulk NDJSON export for indexers & pipelines
GET /schema Machine-readable JSON Schema data dictionary

Rate limit: 60 req/min per IP (10 req/min for the bulk NDJSON export).

Quick start

curl

# 5 newest flats for sale in PLN, cheapest first
curl "https://api.dimdom.pl/api/public/listings?property_type=flat&listing_type=sell&limit=5"

# One listing with full detail
curl "https://api.dimdom.pl/api/public/listings/42001"

# Find a locality in the TERYT tree
curl "https://api.dimdom.pl/api/public/geo/hierarchy?level=miejscowosc&search=krak"

JavaScript (fetch)

const res = await fetch(
  "https://api.dimdom.pl/api/public/listings?property_type=house&maxPrice=800000&limit=10"
);
const { data, pagination } = await res.json();
console.log(data.length, "houses; next cursor:", pagination.cursor);

Python (requests)

import requests

r = requests.get(
    "https://api.dimdom.pl/api/public/listings",
    params={"listing_type": "rent", "property_type": "flat", "limit": 20},
)
for listing in r.json()["data"]:
    print(listing["title"], "—", listing["price"]["amount"], "PLN")

Response shape

Every response is a versioned envelope:

{
  "data": [ /* … */ ],
  "pagination": { "cursor": "…", "hasMore": true },   // list endpoints only
  "meta": { "apiVersion": "v1", "dataFreshness": "2026-01-10T12:00:00Z", "requestId": "req_…" }
}

Paginate by passing the returned pagination.cursor back as ?cursor=.

Links

License

Example code in this repository is released under the MIT License. The API itself and the data it returns are governed by the Dimdom terms of service.

About

Free, no-auth REST API for Polish real estate: listings, agencies, and TERYT geography. OpenAPI 3.0.3.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors