search_transactions
Find individual Polish real-estate transactions from the national RCN registry (8M+ notarial deeds, not asking prices) by place, property type, price, area, date or street. Returns address, date, price, area, price/m² and property type. Resolve the place first: list_locations(search=...), then pass its TERYT code as teryt= (exact match). Use location= only for a name that result flags as an RCN district (rcn_district) - other names silently return zero rows. Neighborhoods (osiedla) are not TERYT districts: pass latitude + longitude (+ radiusKm, default 2) instead of a place. Radius 0.3-0.5 km for a street, 0.5-1 km for a neighborhood, 2-5 km for a city area; the area is a bounding box, so corners extend beyond radiusKm. Take coordinates from the user, never invent them. A point excludes location, teryt, street, buildingNumber and parcelId, and is sorted by date only (pages 1-10). For an exact boundary pass polygon instead of a place or a point: rows only (no summary), newest first, pages 1-20, costs 5 API tokens. location (as district) and street narrow it; teryt, parcelId, buildingNumber, summaryOnly, groupBy, flood/heritage/landslide filters, sort and order are refused. For the land plots inside a shape (not deeds) pass the same polygon to list_parcels_in_area. Data note: ~1.7% of records have no transaction_date. Permalink: https://cenogram.pl/ceny-transakcyjne?src=mcphttp#v=1&lat=&lng=&z=16&tx= (use row id and coordinates A,B = lat,lng; omit &tx= for area only). Inline [...] notes flag computed values (summed or converted parcel area, inferred property type) and approximated streets; all else is as recorded in the deed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number; a point serves pages 1-10, a polygon 1-20. | |
| sort | No | Sort by field, default date; a point is sorted by date only, a polygon takes no sort. | |
| floor | No | Unit floor, multi-select: integers ('0' = parter, negatives = basement), 'Nplus' ('0plus' = ground and above), 'unknown' (none recorded). Not building storeys; rows with no floor drop out unless 'unknown' is listed. | |
| limit | No | Number of results. | |
| order | No | Sort order, default desc; a polygon takes no order. | |
| rooms | No | Rooms (izby), residential units only; multi-select ('8plus' = 8 or more). Rows with no count drop out unless 'unknown' is listed. | |
| teryt | No | TERYT code(s), comma-separated, max 10: 2-digit (voivodeship), 4 (county), 6 (municipality) or a precinct code (e.g. '321705_2.0054'). | |
| dateTo | No | End date (YYYY-MM-DD) | |
| format | No | Row detail; compact by default, full = every recorded field. | |
| street | No | Street name (partial match). Give the NOMINATIVE ('Karmelickiej' misses 'Karmelicka'); with buildingNumber, case and diacritics are ignored. | |
| groupBy | No | Per-year series (median price/m², sample size, deed count; up to 20 years, default last 10) instead of rows. Same filters; one summary call. | |
| landUse | No | Land-use category, multi-select, case-sensitive (gruntyZabudowaneIZurbanizowane = built-up, gruntyRolne = agricultural, gruntyLesne = forest, terenyKomunikacyjne = transport); 'unknown' = none recorded (NULL), not 'no use'. | |
| maxArea | No | Maximum area in m² | |
| minArea | No | Minimum area in m² | |
| polygon | No | GeoJSON Polygon: [longitude, latitude] pairs, first and last point identical, max 500 vertices total. Replaces the point; of the place filters only location and street apply. | |
| dateFrom | No | Start date (YYYY-MM-DD) | |
| latitude | No | Latitude of the search point; pair with longitude. Replaces the place filters. | |
| location | No | City (e.g. 'Warszawa') or RCN district (e.g. 'Mokotów', 'Kraków-Podgórze'); 'Warszawa', 'Kraków', 'Łódź' expand to all sub-districts. | |
| maxPrice | No | Maximum price in PLN | |
| minPrice | No | Minimum price in PLN | |
| parcelId | No | Exact parcel ID, copied from a search result's parcel_id field (e.g. '146518_8.0108.27'). | |
| radiusKm | No | Search radius in km around the point (default 2). | |
| floodRisk | No | Flood-hazard zone, multi-select: high ~1-in-10-year, medium ~1-in-100, low ~1-in-500. Mapped zones only; absence of a zone is never 'safe'. | |
| longitude | No | Longitude of the search point; pair with latitude. | |
| marketType | No | primary (developer) or secondary (resale); the ~55% of records with no market type drop out when this is set. | |
| summaryOnly | No | Aggregates only (total, median price/m² with sample size, period), no rows; cheapest call. limit/sort/page/format ignored. | |
| buildingType | No | Building type (PKOB); 'unknown' = none recorded (NULL, ~39% of buildings), any other value excludes such rows. | |
| propertyType | No | Property type: building = no land; house with plot = developed_land | |
| unitFunction | No | Unit function; 'unknown' = none recorded (NULL), any other value excludes such rows. Garages only via 'garage'. | |
| landslideRisk | No | Landslide hazard, multi-select: landslide = mapped landslide area; threatened = area threatened by mass movements. Mapped areas only; absence of a zone is never 'safe'. | |
| ownershipType | No | Legal-right type (rodzaj prawa), multi-select; perpetual_usufruct = użytkowanie wieczyste; 'unknown' = none recorded. | |
| buildingNumber | No | Building number (e.g. '12A'). Needs location or street; with street, both on one address. An empty page may list nearby numbers. | |
| heritageStatus | No | Heritage listing, multi-select: listed = protected monument on the land; zone = protected urban layout or monument surroundings. Detected listings only; absence of a detection is never 'not listed'. | |
| buildingStoreys | No | Above-ground storeys, multi-select: integers, 'Nplus' ('3plus' = 3+), 'unknown' (no count). Single-building deeds only, so 'unknown' also covers multi-building deeds. Not the unit floor; rows with no count drop out unless 'unknown' is listed. | |
| mpzpDesignation | No | MPZP zoning designation, exact token match; comma-separated = OR (e.g. 'MN,MW'). 'unknown' = none recorded (NULL), distinct from the code 'brakMPZPLubWZ' (no plan/WZ). Common codes: budownictwoMieszkanioweJednorodzinne, brakMPZPLubWZ, terenRolniczy, innyNiewymieniony, terenZabudowyUslugowej, terenDrogPublicznych, budownictwoMieszkanioweWielorodzinne, las, and short plan symbols (MN, MW, U, KD). An unrecognised value is still sent, with a warning listing every known code. | |
| transactionType | No | Multi-select. For market analysis ALWAYS set it to exclude non-market deeds (subsidized, foreclosure, public_purpose); no-type rows (~2%) drop out unless 'unknown' is listed. | |
| maxFootprintArea | No | Maximum building footprint in m²; same rules as minFootprintArea. | |
| minFootprintArea | No | Minimum building footprint in m², summed over the transaction's buildings; measured rows only (absence = 'not measured', not 'no building'). Not usable area. | |
| excludeFractionalShares | No | true = clean land prices: drops fractional ownership shares, whose price reflects the whole deed. |