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

Scrape structured real estate listings from SS.LV — Latvia's largest classifieds platform. No API key required.
Features
- Scrapes all real estate categories: flats, houses, plots, offices, commercial, garages
- JSON-HTML extraction for images (via
msg_img_dir/MAX_NAVIJS vars) and price (MSG_PRICE) — more reliable than CSS scraping - Full-size image URL list built deterministically from embedded JS variables
- GPS coordinates parsed from gmap onclick href
- Language-agnostic
tdo_field IDs for structured property data (works across LV/RU page versions) - Elevator detection from floor field (e.g.
"5/9/lifts") - Price per m² captured from list page
- Pagination handled automatically
- robots.txt compliant —
/lv/paths only (/en/is disallowed) - Deadline-aware exit prevents TIMED-OUT status
Input
{"startUrls": [{ "url": "https://www.ss.lv/lv/real-estate/flats/riga/centre/sell/" }],"maxItems": 500,"fetchDetails": true}
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array | — | Required. SS.LV real estate list URLs (/lv/ prefix only). |
maxItems | integer | 500 | Max total listings to collect across all start URLs. |
fetchDetails | boolean | true | Fetch individual listing pages for full data (GPS, dates, description, all images). Set false for fast list-only scrape. |
URL format
https://www.ss.lv/lv/real-estate/{category}/{city}/{district}/{dealtype}/
Categories: flats · homes-summer-residences · farms-estates · premises · offices · plots-and-lands · wood
Examples:
https://www.ss.lv/lv/real-estate/flats/riga/centre/sell/https://www.ss.lv/lv/real-estate/flats/riga/https://www.ss.lv/lv/real-estate/homes-summer-residences/riga-district/sell/https://www.ss.lv/lv/real-estate/offices/
⚠️
/en/URLs are disallowed byrobots.txt. The scraper automatically converts them to/lv/.
Output fields
Always present
| Field | Type | Description |
|---|---|---|
id | string | Listing ID (from checkbox value) |
url | string | Full listing URL |
title | string | Ad title text |
operationType | string | sell · rent · want-to-buy |
country | string | Always "LV" |
priceAmount | integer | Total price in EUR |
priceCurrency | string | Always "EUR" |
pricePerSqm | number | Price per m² (from list page) |
thumbnailUrl | string | Thumbnail image URL |
source | string | Always "ss.lv" |
scrapedAt | string | ISO 8601 scrape timestamp |
contentHash | string | 16-char MD5 of id|price|area for change detection |
Detail page fields (fetchDetails: true)
| Field | Type | Description |
|---|---|---|
city | string | City (tdo_20) |
district | string | District/neighbourhood (tdo_856) |
street | string | Street address (tdo_11) |
lat | number | GPS latitude (from gmap href) |
lng | number | GPS longitude (from gmap href) |
propertyType | string | House type — Paneļu, Ķieģeļu, etc. (tdo_2) |
series | string | Building series — Jaun., 104., 602., etc. (tdo_6) |
rooms | number | Number of rooms (tdo_1) |
areaM2 | number | Area in m² (tdo_3) |
floor | integer | Floor number (tdo_4) |
totalFloors | integer | Total floors in building (tdo_4) |
hasElevator | boolean | Elevator present (detected from floor string "5/9/lifts") |
facilities | string | Facilities/features (tdo_1734) |
descriptionText | string | Plain-text description |
descriptionHtml | string | HTML description |
images | string[] | Full-size image URLs (800px), built from msg_img_dir + MAX_NAVI JS vars |
imageCount | integer | Number of images |
agencyName | string | Agency/company name (if present) |
agencyPhone | string | Phone number(s) — partially masked on page load |
publishDate | string | Publish date YYYY-MM-DD |
publishDateISO | string | Publish datetime ISO 8601 (EET +02:00) |
Examples
Apartments for sale in Riga
{"startUrls": [{ "url": "https://www.ss.lv/lv/real-estate/flats/riga/all/" }],"maxItems": 100}
Rentals under a price cap
{"startUrls": [{ "url": "https://www.ss.lv/lv/real-estate/flats/riga/all/hand_over/" }],"maxPrice": 500,"maxItems": 50}
Recent listings — last 7 days
{"startUrls": [{ "url": "https://www.ss.lv/lv/real-estate/flats/riga/all/" }],"daysOld": 7,"maxItems": 200}
New listings only
{"startUrls": [{ "url": "https://www.ss.lv/lv/real-estate/flats/riga/all/" }],"daysOld": 1,"maxItems": 200}
Technical notes
JSON-HTML extraction
SS.LV has no public REST or GraphQL API. However, the detail page embeds key data as JavaScript variables rendered server-side:
var MSG_PRICE = 134800.00;var msg_img_dir = "https://i.ss.lv" + "/images/2026-04-06/…/flats-riga-centre-2-";var MAX_NAVI = 24;var IMG_SIZE = 800;
Images are constructed as: msg_img_dir + N + "." + IMG_SIZE + ".jpg" for N = 1..MAX_NAVI. This is more reliable than scanning img src attributes.
GPS coordinates are extracted from the gmap onclick href:
?c=56.9305608, 24.1620358, 14
tdo_ field IDs
The options table uses language-agnostic numeric IDs (id="tdo_20"), making parsing robust across Latvian and Russian page variants:
| tdo ID | Field |
|---|---|
| 20 | city |
| 856 | district |
| 11 | street |
| 1 | rooms |
| 3 | area |
| 4 | floor/totalFloors/hasElevator |
| 6 | series |
| 2 | houseType (propertyType) |
| 1734 | facilities |
robots.txt compliance
/en/is fully disallowed — all requests use/lv/paths- Filter/sort URLs (
/fDgSeF4*.html) are disallowed and never generated - Standard crawl delays applied (1–3s Gaussian sleep between list pages, 0.6–1.6s between detail pages)
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