Krisha.kz Scraper — Kazakhstan Real Estate Listings
Pricing
from $2.00 / 1,000 listing scrapeds
Krisha.kz Scraper — Kazakhstan Real Estate Listings
Krisha.kz real-estate listings for analysts, agencies and AI agents: apartments, houses, commercial, land for sale or rent in Almaty, Astana, Shymkent, any city or district of Kazakhstan.
Pricing
from $2.00 / 1,000 listing scrapeds
Rating
0.0
(0)
Developer
Samat Makatov
Maintained by CommunityActor stats
2
Bookmarked
1
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Structured listings from krisha.kz, the #1 real-estate marketplace of Kazakhstan: apartments, houses, commercial property, land and garages — for sale or rent — in Almaty, Astana, Shymkent, any city, region or district. Every krisha.kz filter is available (price, area, floor, year built, building type, owner-only, new buildings, furniture, pets…), each item comes with price per m², seller type, publish date and view count, and detail: true adds full description, all parameters, GPS coordinates and photos. Built for analysts, agencies, developers, banks and AI agents.
No proxies, no browser, no API key — plain HTTP, cheap and fast.
Use cases
- Lead generation for agencies —
ownerOnly: true+ your district: fresh owner-posted apartments every hour (sinceHours: 1), with phone-free contact through the listing URL. - Price monitoring / market reports — pull 1 000 listings of 2-room apartments in Almaty weekly, compute median
pricePerM2bydistrict,yearBuilt,buildingType. - Investment screening —
newBuildingOnly+mortgageAvailable+yearFrom: 2020, rank byviewsto see what the market is looking at. - Rental yield analysis — run once for
prodazhaand once forarendaon the same complex (complexId) and divide. - Commercial real estate sourcing —
kommercheskaya-nedvizhimostwithcommercialUse: "warehouse",withTenants: true(income-producing assets). - Developer competitive intel —
seller: "developer"items reveal which complexes are actively marketed, at what ₸/m².
Input
All fields are optional. Location and type fields mirror the krisha.kz URL: https://krisha.kz/{dealType}/{propertyType}/{city}/.
| Field | Type | Default | Allowed values / notes |
|---|---|---|---|
dealType | string | prodazha | prodazha (sale), arenda (rent) |
propertyType | string | kvartiry | kvartiry, doma-dachi, komnaty, kvartiry-posutochno, kvartiry-po-chasam, doma-dachi-posutochno, kommercheskaya-nedvizhimost, biznes**, prombazy, uchastkov, garazhi, zarubezhnoj-nedvizhimosti (* rent only, ** sale only). Legacy doma, uchastki still accepted. |
city | string | almaty | Any slug from Reference → Locations (city, region or district). Russian names work too (Алматы, Бостандыкский р-н). Empty = all Kazakhstan. |
complexId | integer | – | Residential complex id (number in https://krisha.kz/complex/almaty/<id>). |
rooms | string[] | [] | "1"…"4", "5+" (apartments), up to "10" for houses. |
priceFrom / priceTo | integer | – | Tenge. For arenda = monthly rent. |
areaFrom / areaTo | integer | – | Total area m² (commercial → premises area). |
kitchenAreaFrom / kitchenAreaTo | integer | – | Apartments. |
floorFrom / floorTo | integer | – | Apartments. |
notFirstFloor / notLastFloor | boolean | false | Apartments. |
buildingFloorsFrom / buildingFloorsTo | integer | – | Floors in the building. |
yearFrom / yearTo | integer | – | Year built. |
buildingType | string | – | brick, panel, monolith, other |
bathroom | string | – | separate, combined, twoOrMore, none |
ownerOnly | boolean | false | Only owner-posted listings (das[who]=1). |
fromAgentsOnly | boolean | false | Only verified Krisha Agents. |
hasPhoto | boolean | false | |
newBuildingOnly | boolean | false | Primary market only. |
mortgageAvailable | boolean | false | |
notDormitory | boolean | false | Exclude former dormitories. |
exchangePossible | boolean | false | |
furniture | string | – | Rent only: full, partial, none |
petsAllowed / kidsAllowed | boolean | false | Rent only. |
houseType | string | – | Houses: detached, partOfHouse, dacha |
wallMaterial | string | – | Houses: brick, monolith, wood, adobe, gasSilicate, aeratedConcrete, cinderBlock, foamBlock, thermoBlock, frameReed, framePanel, sip, concretePanel, shellRock, finBlock |
renovation | string | – | Houses: fresh, decent, needsRepair, roughFinish, demolition, unfinished |
heating | string | – | Houses: central, gas, solidFuel, liquidFuel, electric, mixed, none |
sewage | string | – | Houses: central, canConnect, septic, none |
landAreaFrom / landAreaTo | integer | – | Sotka (100 m²): houses, land, garages. |
commercialUse | string | – | any, office, retail, warehouse, auto, catering, beauty, agriculture, hospitality, medical, education, entertainment |
commercialLocation | string | – | businessCenter, residential, mall, market, standalone |
withTenants / asBusiness | boolean | false | Commercial. |
extraParams | object | {} | Any other raw das[...] parameter copied from a krisha.kz URL, e.g. {"das[flat.phone]": "1"}. |
sort | string | newest | newest, cheapest, expensive. Note: paid "hot" listings are pinned to the top of every krisha.kz page regardless of sort — filter on hot: false if you need a strict order. |
sinceHours | integer | – | Keep only listings published in the last N hours (day precision). With sort: newest pagination stops at the first page that is entirely older. |
maxItems | integer | 40 | 1–5000. ~20 listings per page. |
maxPages | integer | 50 | 1–300 safety cap. Raise it together with maxItems (5000 items ≈ 250 pages). |
detail | boolean | false | Open every listing page: full description, all parameters, coordinates, photos, owner name/type, exact publish date. +1 request per listing. |
includeViews | boolean | true | Attach view counts (1 batch request per 25 listings). |
dedupe | boolean | true | Drop repeated ids (paid listings repeat in the "hot" block). |
Filters that do not apply to the chosen property type are dropped with a warning in the log — nothing is silently ignored.
Reference
Locations (city)
Slugs come from krisha.kz's own region tree (/region/ajaxGetChildren/). Districts are only defined for Almaty, Astana and Shymkent. Any other town slug that appears in a krisha.kz URL (https://krisha.kz/prodazha/kvartiry/<slug>/) also works — an unknown slug yields a clear 404 error, never empty data.
| Region / city | Slug | Districts / main cities (slug) |
|---|---|---|
| Алматы (city) | almaty | Алатауский → almaty-alatauskij; Алмалинский → almaty-almalinskij; Ауэзовский → almaty-aujezovskij; Бостандыкский → almaty-bostandykskij; Жетысуский → almaty-zhetysuskij; Медеуский → almaty-medeuskij; Наурызбайский → almaty-nauryzbajskiy; Турксибский → almaty-turksibskij |
| Астана (city) | astana | Алматы р-н → astana-almatinskij; Есильский → astana-esilskij; Нура → astana-nura; Байконур → r-n-bajkonur; Сарайшык → astana-saraishyk; Сарыарка → astana-saryarkinskij |
| Шымкент (city) | shymkent | Абайский → shymkent-abajskij; Аль-Фарабийский → shymkent-al-farabijskij; Енбекшинский → shymkent-enbekshinskij; Каратауский → karatauskij; Туран → shymkent-turan |
| Абай обл. | abay-oblast | Семей → semej |
| Акмолинская обл. | akmolinskaja-oblast | Кокшетау → kokshetau; Щучинск → shhuchinsk; Степногорск → stepnogorsk |
| Актюбинская обл. | aktjubinskaja-oblast | Актобе → aktobe |
| Алматинская обл. | almatinskaja-oblast | Боралдай → boroldaj-burundaj; Каскелен → kaskelen; Конаев → konaev; Талгар → talgar |
| Атырауская обл. | atyrauskaja-oblast | Атырау → atyrau; Кульсары → kulsary |
| Восточно-Казахстанская обл. | vostochno-kazahstanskaja-oblast | Риддер → ridder; Усть-Каменогорск → ust-kamenogorsk |
| Жамбылская обл. | zhambylskaja-oblast | Тараз → taraz; Жанатас → zhanatas; Шу → shu |
| Жетысу обл. | jetisyskaya-oblast | Талдыкорган → taldykorgan |
| Западно-Казахстанская обл. | zapadno-kazahstanskaja-oblast | Аксай → aksaj; Уральск → uralsk |
| Карагандинская обл. | karagandinskaja-oblast | Балхаш → balhash; Караганда → karaganda; Темиртау → temirtau; Шахтинск → shahtinsk; Сарань → saran |
| Костанайская обл. | kostanajskaja-oblast | Костанай → kostanaj; Лисаковск → lisakovsk; Рудный → rudnyj |
| Кызылординская обл. | kyzylordinskaja-oblast | Байконур → bajkonur; Кызылорда → kyzylorda |
| Мангистауская обл. | mangistauskaja-oblast | Актау → aktau; Жанаозен → zhanaozen |
| Павлодарская обл. | pavlodarskaja-oblast | Павлодар → pavlodar; Экибастуз → ekibastuz; Аксу → aksu |
| Северо-Казахстанская обл. | severo-kazahstanskaja-oblast | Петропавловск → petropavlovsk |
| Туркестанская обл. | juzhno-kazahstanskaja-oblast | Туркестан → turkestan; Арысь → arys; Кентау → kentau |
| Улытау обл. | ulitayskay-oblast | Жезказган → zhezkazgan; Сатпаев → satpaev |
Abroad (propertyType: zarubezhnoj-nedvizhimosti): gruzija, kipr, grecija, italija, rossija, kyrgyzstan, vetnam.
Property types
| Slug | Meaning | Sale | Rent |
|---|---|---|---|
kvartiry | Apartments | ✓ | ✓ |
doma-dachi | Houses & dachas | ✓ | ✓ |
komnaty | Rooms | – | ✓ |
kvartiry-posutochno | Apartments, daily | – | ✓ |
kvartiry-po-chasam | Apartments, hourly | – | ✓ |
doma-dachi-posutochno | Houses, daily | – | ✓ |
kommercheskaya-nedvizhimost | Commercial property | ✓ | ✓ |
biznes | Ready business | ✓ | – |
prombazy | Industrial bases | ✓ | ✓ |
uchastkov | Land plots | ✓ | ✓ |
garazhi | Garages & parking | ✓ | ✓ |
zarubezhnoj-nedvizhimosti | Property abroad | ✓ | ✓ |
Filter → krisha.kz parameter map
| Input | krisha.kz das[...] | Codes |
|---|---|---|
rooms | das[live.rooms][] | 1,2,3,4, 5.100 (=5+) |
priceFrom/To | das[price][from/to] | ₸ |
areaFrom/To | das[live.square] / das[com.square] | m² |
kitchenAreaFrom/To | das[live.square_k] | m² |
floorFrom/To | das[flat.floor] | |
notFirstFloor, notLastFloor | das[floor_not_first], das[floor_not_last] | 1 |
buildingFloorsFrom/To | das[house.floor_num] | |
yearFrom/To | das[house.year] | |
buildingType | das[flat.building] | brick 1, panel 2, monolith 3, other 0 |
bathroom | das[flat.toilet] | separate 1, combined 2, twoOrMore 3, none 4 |
ownerOnly | das[who] | 1 |
fromAgentsOnly | das[_sys.fromAgent] | 1 |
hasPhoto | das[_sys.hasphoto] | 1 |
newBuildingOnly | das[novostroiki] | 1 |
mortgageAvailable | das[mortgage] | 1 |
notDormitory | das[flat.priv_dorm] | 2 |
exchangePossible | das[has_change] | 1 |
furniture | das[live.furniture] | full 1, partial 2, none 3 |
petsAllowed, kidsAllowed | das[who_match][4], das[who_match][5] | 4, 5 |
houseType | das[house.type_object] | detached 1, partOfHouse 2, dacha 3 |
wallMaterial | das[house.building_opts] | 1–15 in the order listed above |
renovation | das[house.renewal] | 1–6 |
heating | das[cmtn.heating] | central 1, gas 2, solidFuel 3, liquidFuel 4, electric 7, mixed 5, none 6 |
sewage | das[cmtn.sewage] | central 1, canConnect 2, septic 3, none 4 |
landAreaFrom/To | das[land.square] | sotka |
commercialUse | das[com.use_case] | any 1, office 2, retail 3, warehouse 4, auto 5, catering 6, beauty 7, agriculture 8, hospitality 9, medical 11, education 12, entertainment 13 |
commercialLocation | das[com.location] | businessCenter 1, residential 2, mall 3, market 4, standalone 5 |
withTenants, asBusiness | das[com.is_tenants], das[estate.is_buss] | 1 |
complexId | das[map.complex] | complex id |
sort | sort_by | newest = default (add_date-desc), cheapest price-asc, expensive price-desc |
Examples
Daily market snapshot — 2-room apartments in Almaty under 45 M ₸
{ "dealType": "prodazha", "propertyType": "kvartiry", "city": "almaty", "rooms": ["2"], "priceTo": 45000000, "maxItems": 500 }
Agency lead-gen — new owner-posted rentals in Bostandyk district, checked hourly
{ "dealType": "arenda", "propertyType": "kvartiry", "city": "almaty-bostandykskij", "rooms": ["1", "2"], "priceTo": 400000, "ownerOnly": true, "furniture": "full", "sinceHours": 2, "detail": true, "maxItems": 100 }
Investor screen — new builds with mortgage, 2020+, monolith, not ground floor
{ "city": "astana", "newBuildingOnly": true, "mortgageAvailable": true, "yearFrom": 2020, "buildingType": "monolith", "notFirstFloor": true, "sort": "cheapest", "maxItems": 300 }
Commercial sourcing — warehouses with tenants in Almaty region
{ "propertyType": "kommercheskaya-nedvizhimost", "city": "almatinskaja-oblast", "commercialUse": "warehouse", "withTenants": true, "areaFrom": 500, "detail": true, "maxItems": 100 }
Houses — gas-heated detached houses with 6+ sotka near Almaty
{ "propertyType": "doma-dachi", "city": "kaskelen", "houseType": "detached", "heating": "gas", "landAreaFrom": 6, "priceTo": 90000000, "maxItems": 200 }
Output
One dataset item per listing. Example (trimmed, detail: false):
{"id": "1015668341","title": "2-комнатная квартира · 45.2 м² · 5/5 этаж","url": "https://krisha.kz/a/show/1015668341","price": 35000000, "currency": "KZT", "priceText": "35 000 000 ₸", "pricePerM2": 774336,"rooms": 2, "area": 45.2, "floor": 5, "floors": 5,"address": "Бостандыкский р-н, Толеу Басенова", "district": "Бостандыкский р-н", "street": "Толеу Басенова", "cityName": "Алматы","complex": null, "yearBuilt": 1985, "buildingType": "кирпичный", "condition": "не новый, но аккуратный ремонт", "ceilingHeight": 2.6,"description": "кирпичный дом, 1985 г.п., состояние: … ПРОДАЁТСЯ ЕВРОДВУШКА В БОСТАНДЫКСКОМ РАЙОНЕ! …","seller": "specialist", "sellerVerified": true, "hot": true, "photosCount": 12,"image": "https://krisha-photos.kcdn.online/webp/cb/…/1-full.jpg","publishedAt": "2026-09-13", "views": 45,"city": "almaty", "dealType": "prodazha", "propertyType": "kvartiry", "searchTotal": 10429,"fetchedAt": "2026-09-12T23:43:27.131Z"}
| Field | Description |
|---|---|
id, url | krisha.kz listing id and canonical URL |
title | Listing title (rooms · area · floor) |
price, currency, priceText | Price in ₸ (monthly for rent); null when "price on request" |
pricePerM2 | Price per m² as shown by krisha.kz (commercial cards), otherwise price / area, rounded |
pricePeriod | month, day or hour for rentals; null for sales |
rooms, area, floor, floors | Parsed from the title |
address, district, street, cityName | Address line split into district (… р-н) and street; city as shown on the card |
complex | Residential complex name when the listing belongs to one |
yearBuilt, buildingType, condition, ceilingHeight | Parsed from the card summary (Russian values as on the site) |
description | Card preview text (truncated by the site) |
seller | owner, specialist (agent), company (agency), developer (new-building complex) |
sellerVerified | Identity-verified badge |
hot | Paid promotion ("hot") |
photosCount, image | Number of photos and first photo URL |
publishedAt | Publish date YYYY-MM-DD (day precision from the card) |
views | Site view counter (when includeViews) |
city, dealType, propertyType | Echo of the resolved search scope |
searchTotal | Total number of listings krisha.kz reports for this search (market size) |
fetchedAt | ISO timestamp |
With detail: true each item additionally has: descriptionFull, parameters (object keyed by krisha field names: flat.balcony, flat.parking, flat.security, live.furniture, flat.facilities, who_match, …), lat, lon, mapUrl, addressParts ({city, district, street, house_num, corner_street}), photos[], ownerName, userType (owner / specialist / company / complex), complexId, isEstateVerified, and publishedAt from the listing page. Phone numbers are behind a click-to-reveal captcha on krisha.kz and are not collected.
Use it from code / agents
curl -X POST "https://api.apify.com/v2/acts/yadroo~krisha-kz/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"city":"almaty","rooms":["2"],"priceTo":45000000,"maxItems":50}'
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('yadroo/krisha-kz').call({ city: 'astana', newBuildingOnly: true, maxItems: 100 });const { items } = await client.dataset(run.defaultDatasetId).listItems();
from apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("yadroo/krisha-kz").call(run_input={"dealType": "arenda", "city": "almaty-medeuskij", "ownerOnly": True, "sinceHours": 24})items = client.dataset(run["defaultDatasetId"]).list_items().items
MCP: add https://mcp.apify.com to Claude / Cursor / any MCP client and call the yadroo/krisha-kz tool with the same JSON input.
Pricing
Pay per event: $0.005 per run start + $0.002 per listing. No proxy or browser costs.
Typical runs: 40 listings ≈ $0.085; 500-listing market snapshot ≈ $1.005; hourly 20-item monitor ≈ $0.045/run. detail: true costs the same per item but takes a few seconds per listing longer (more compute time on your side).
Limits & FAQ
- Rate limits — ~0.7 s between search pages and ~1.5 s between detail pages. krisha.kz is behind a WAF that randomly answers
468to a share of requests; the Actor retries each page up to 6 times with growing backoff, so detail mode takes roughly 2–4 s per listing. If a page still fails, the item is kept withdetailError; the run stops only if most detail pages fail. - Freshness — data is read live from krisha.kz at run time;
publishedAton cards is day-precise.viewsare live counters. - Blocks / errors — a 403 or an unrecognized layout fails the run with a clear message instead of returning empty items; a wrong location slug fails with
404. - Max items — 5000 per run (up to 300 pages; checked live: page 400 still returns fresh listings). With
detail: truebudget about 2 s per listing — the default run timeout is 1 hour. Split very large jobs by district or price range. - Phones — not extracted (captcha-protected on the site).
- Roadmap — complex catalog mode (all listings inside a ЖК by name), map-bounds search, price-history via repeated runs.
Made by Yadroo. Sibling actors: kolesa-kz (cars), kaspi-kz-products (marketplace prices), hh-kz-vacancies (jobs), autoscout24-cars (EU cars).