SS.LV Real Estate Scraper
Pricing
from $1.20 / 1,000 results
SS.LV Real Estate Scraper
Scrape property listings from SS.LV — Latvia's largest classifieds site.
Pricing
from $1.20 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
1
Total users
0
Monthly active users
13 days ago
Last modified
Categories
Share

Extract property listings from ss.lv at scale, in a clean, consistent structure ready for market analysis, valuation models, lead generation and monitoring. No API key required.
Why this scraper?
🎯 Built for Latvia
A dedicated Latvian scraper, not a global tool with a country dropdown. Locations, price formats and currency (EUR) are tuned for ss.lv.
💶 Structured pricing
Asking price or rent as a clean number in EUR, plus price per m². Price-on-request listings return null, never a guess.
🏠 Property characteristics
Rooms, surface, floor, total floors, lift, building series and house type in structured fields, ready for filtering and analysis.
📍 Precise location
City, district and street, plus latitude and longitude where ss.lv publishes a map pin.
🔁 Change detection
Every record carries a contentHash over ID, price and surface, so a daily feed shows at a glance which listings changed and which are unchanged reposts.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | Rīga centre (sell) and Āgenskalns | SS.LV search or category pages to scrape. Use the Latvian (/lv/) paths — the English mirror is disallowed by the site's robots.txt. Pagination is followed automatically. |
maxItems | integer | 100 | Maximum total listings to collect across all start URLs. |
fetchDetails | boolean | true | ON: opens every listing and returns description, photos, coordinates, city, district, property type, floor count and publication date. OFF: returns the search-table fields only (faster, fewer requests). |
minPrice | integer | (empty) | Skip listings priced below this amount in EUR. |
maxPrice | integer | (empty) | Skip listings priced above this amount in EUR. |
daysOld | integer | (empty) | Only return listings published within the last N days. Requires fetchDetails, because the publication date is only on the listing page. |
Output schema
Every field below is present on every record when fetchDetails is on. Fields the source does not publish for a given listing are returned as null rather than omitted.
| Field | Type | Description |
|---|---|---|
id | string | Unique listing ID from the source. |
url | string | Direct link to the listing. |
title | string | Listing title as published. |
operationType | string | sell, rent or want-to-buy. |
country | string | Country of the property (LV). |
city | string | City. |
district | string | District or neighbourhood. |
street | string | Street and house number. |
lat | number | Latitude of the map pin. |
lng | number | Longitude of the map pin. |
propertyType | string | Building material or house type as published. |
series | string | Building series (Jaun., Hrušč., P. kara, …). |
rooms | number | Total number of rooms. |
areaM2 | number | Surface in m². |
floor | number | Floor the property is on. |
totalFloors | number | Number of floors in the building. |
hasElevator | boolean | Whether the building has a lift. |
facilities | string | Facilities and features as published. |
priceAmount | number | Asking price or rent as a number (null if price on request). |
priceCurrency | string | Currency code of the price (EUR). |
pricePerSqm | number | Price per m² as published in the search table. |
descriptionText | string | Listing description as plain text. |
descriptionHtml | string | Listing description as HTML. |
descriptionMarkdown | string | Listing description as Markdown. |
images | array | Full-size photo URLs. |
imageCount | number | Number of photos. |
thumbnailUrl | string | Search-table thumbnail. |
agencyName | string | Company name where the lister publishes one. |
agencyPhone | string | Contact number as displayed by the source. |
publishDate | string | Publication date (YYYY-MM-DD). |
publishDateISO | string | Publication timestamp in ISO 8601. |
source | string | Source (ss.lv). |
scrapedAt | string | Timestamp when this record was scraped. |
contentHash | string | Stable hash of ID, price and surface, used for repost and change detection. |
With fetchDetails off, records carry the search-table subset: id, url, title, operationType, country, street, series, rooms, areaM2, floorRaw, priceAmount, pricePerSqm, priceCurrency, thumbnailUrl, source, scrapedAt, contentHash.
Example record
{"id": "58065376","url": "https://www.ss.lv/msg/lv/real-estate/flats/riga/centre/befgbm.html","title": "Īpašnieks tirgo mājīgu, labiekārtotu dzīvokli, istabas uz abām m","operationType": "sell","country": "LV","city": "Rīga","district": "centrs","street": "Tērbatas 38","lat": 56.9554504,"lng": 24.1253174,"propertyType": "Mūra","series": "Renov.","rooms": 3,"areaM2": 82,"floor": 4,"totalFloors": 7,"hasElevator": true,"facilities": "Balkons, Bez mēbelēm","priceAmount": 200000,"priceCurrency": "EUR","pricePerSqm": 2439,"descriptionText": "Renovētā namā, klusā iekšpagalmā, pilnībā izremontēts dzīvoklis.","images": ["https://i.ss.lv/images/2025-10-27/569968/UnsAFU5lSVs=/flats-riga-centre-5-1.800.jpg"],"imageCount": 25,"thumbnailUrl": "https://i.ss.lv/gallery/8/1517/379102/75820339.th2.jpg","agencyName": null,"agencyPhone": "2911....","publishDate": "2026-09-11","publishDateISO": "2026-09-11T22:14:00+02:00","source": "ss.lv","scrapedAt": "2026-09-12T05:41:17.469Z","contentHash": "78569633a84c3d0a"}
Examples
Flats for sale in Rīga centre:
{"startUrls": [{ "url": "https://www.ss.lv/lv/real-estate/flats/riga/centre/sell/" }],"maxItems": 100}
Cap the price:
{"startUrls": [{ "url": "https://www.ss.lv/lv/real-estate/flats/riga/centre/sell/" }],"maxItems": 100,"maxPrice": 285000}
Rentals across a district:
{"startUrls": [{ "url": "https://www.ss.lv/lv/real-estate/flats/riga/purvciems/hand-over/" }],"maxItems": 200}
Daily feed of new listings (run on a schedule):
{"startUrls": [{ "url": "https://www.ss.lv/lv/real-estate/flats/riga/centre/sell/" }],"daysOld": 1,"maxItems": 500}
Schedule this input to run once a day in the Apify Scheduler — each run returns only listings added in the last 24 hours.
💰 Pricing
$1.50 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.15 |
| 1,000 | ~$1.50 |
| 10,000 | ~$15 |
| 100,000 | ~$150 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage.
Subscription tiers lower the rate further, down to $0.90 per 1,000 at the highest tier. Use the Max items cap in the input to control your spend exactly.
Performance
| Run size | Typical time |
|---|---|
| 100 results | 1–2 minutes |
| 1,000 results | 8–12 minutes |
| 10,000 results | 60–90 minutes |
Listing pages are fetched sequentially and detail pages three at a time, which keeps the load on ss.lv modest.
Known limitations
- Some fields (facilities, coordinates, agency details) are only returned when the lister publishes them — expect
nullon a share of records. - Contact numbers are partially masked by the source; the scraper returns them exactly as displayed and never reconstructs them.
daysOldneedsfetchDetails, because ss.lv publishes the date only on the listing page.- Very large result sets are bounded by the source's own paging limits.
- Listings can be withdrawn at any time, so a small share of URLs may expire shortly after scraping.
Technical details
- Source: ss.lv — Latvia property listings
- Coverage: everything the public search exposes, filterable via the input parameters above
- Retry: every request carries a hard time wall covering the connect phase; on a timeout or a block the scraper rotates its exit and escalates from a direct connection to a datacenter proxy and then to a Latvian residential IP
- Health: every run writes a
HEALTHkey that distinguishes an empty search from a broken parser
Rate this actor
If this scraper saved you time, a rating helps other people find it. If something is missing or wrong, tell us in Issues and we fix it — usually within a day.
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl