SS.LV Real Estate Scraper avatar

SS.LV Real Estate Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
SS.LV Real Estate Scraper

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

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

SS.LV Scraper

sslv-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_NAVI JS 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
}
FieldTypeDefaultDescription
startUrlsarrayRequired. SS.LV real estate list URLs (/lv/ prefix only).
maxItemsinteger500Max total listings to collect across all start URLs.
fetchDetailsbooleantrueFetch 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 by robots.txt. The scraper automatically converts them to /lv/.

Output fields

Always present

FieldTypeDescription
idstringListing ID (from checkbox value)
urlstringFull listing URL
titlestringAd title text
operationTypestringsell · rent · want-to-buy
countrystringAlways "LV"
priceAmountintegerTotal price in EUR
priceCurrencystringAlways "EUR"
pricePerSqmnumberPrice per m² (from list page)
thumbnailUrlstringThumbnail image URL
sourcestringAlways "ss.lv"
scrapedAtstringISO 8601 scrape timestamp
contentHashstring16-char MD5 of id|price|area for change detection

Detail page fields (fetchDetails: true)

FieldTypeDescription
citystringCity (tdo_20)
districtstringDistrict/neighbourhood (tdo_856)
streetstringStreet address (tdo_11)
latnumberGPS latitude (from gmap href)
lngnumberGPS longitude (from gmap href)
propertyTypestringHouse type — Paneļu, Ķieģeļu, etc. (tdo_2)
seriesstringBuilding series — Jaun., 104., 602., etc. (tdo_6)
roomsnumberNumber of rooms (tdo_1)
areaM2numberArea in m² (tdo_3)
floorintegerFloor number (tdo_4)
totalFloorsintegerTotal floors in building (tdo_4)
hasElevatorbooleanElevator present (detected from floor string "5/9/lifts")
facilitiesstringFacilities/features (tdo_1734)
descriptionTextstringPlain-text description
descriptionHtmlstringHTML description
imagesstring[]Full-size image URLs (800px), built from msg_img_dir + MAX_NAVI JS vars
imageCountintegerNumber of images
agencyNamestringAgency/company name (if present)
agencyPhonestringPhone number(s) — partially masked on page load
publishDatestringPublish date YYYY-MM-DD
publishDateISOstringPublish 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 IDField
20city
856district
11street
1rooms
3area
4floor/totalFloors/hasElevator
6series
2houseType (propertyType)
1734facilities

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