Sutochno.ru Scraper icon

Sutochno.ru Scraper

Scrape Sutochno.ru short-term rentals, apartments and hotels by city, dates, guests or URL. Extract property details, stay prices, availability,…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

Sutochno.ru Scraper at a glance

Sutochno.ru Scraper is a ready-to-run Apify actor from abotapi for collecting web data. Its documented output includes recordid, objectid, title, typetitle and hotelid, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.00 per 1,000 results on the Apify Free plan and from $1.50 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Other
Region
Europe
Pricing
$2.00 per 1,000 results (Free plan), from $1.50 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
34 options

Scrape Sutochno.ru short-term rentals, apartments and hotels by city, dates, guests or URL. Extract property details, stay prices, availability, ratings, guest reviews, amenities and owner information. Supports listing, hotel and search URLs for rental research and price comparison.

What Sutochno.ru Scraper can do

  • Real stay pricing, not brochure rates. Every listing is priced for your exact check-in and check-out dates: per-night rate, stay total, season price rows, long-stay tiers, prepayment and service fee.
  • Reviews behind pagination. Guest reviews are collected past the first page (up to your per-listing limit) with ratings, stay dates, party size and text, into a dedicated Reviews tab.
  • Detail records, not just cards. House rules, check-in and check-out windows, the full amenity set, owner response stats and the complete photo gallery come off each listing's detail record.
  • Availability signals per stay window. Booking availability, rooms left and max guests are read for your dates, so occupancy analytics work out of the box.
  • Filters as first-class inputs. Housing types, hotel stars, guest score, instant booking and the site's own sort orders reach the site server-side, not as post-hoc guesses.
  • Built for schedules. Incremental mode tracks listings between runs and returns only new or changed ones; resume continues an interrupted run; both are first-class inputs.

Choose what to collect

These inputs let you configure Sutochno.ru Scraper - Rentals, Prices, Availability & Reviews. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredsearch: walk listing pages for a location with your dates and guests. urls: read the sutochno.ru links you paste (listing pages, hotel pages, search links).

Choices: search, urls

locationstringSearch mode: a city, region or address the site knows (Russian or Latin both work, e.g. 'Санкт-Петербург', 'Sochi'). The search is scoped to this location.
checkInstringCheck-in date (YYYY-MM-DD). Prices on the site depend on the stay window, so set both dates to see real prices. Leave both empty to browse without a stay window.
checkOutstringCheck-out date (YYYY-MM-DD), must be after check-in. If check-in is set and this is empty, one night is assumed.
guestsAdultsintegerNumber of adult guests the search should fit.
guestsChildrensarrayAges of child guests (0-17), e.g. [4, 9]. The site uses ages, not just a count.
petsbooleanOnly listings that accept pets.
Show 27 more inputs
More input fields
InputWhat it controls
sortingsstringListing order as the site serves it: relevance (the site's own order), price ascending or price descending.

Choices: relevance, price_asc, price_desc

maxItemsintegerMaximum listings collected per run (0 to 100000). 0 means no limit (the walk stops at the natural end of results).
maxPagesintegerMaximum result pages walked per scope. 0 (default) walks until results run out; Max items is the only limit that stops a run early.
housingTypesarrayRestrict to selected housing types (applied by the site itself). Empty = all types.
starsarrayRestrict to selected hotel star ratings ('none' = unrated hotels). Empty = all.
minReviewScoresarrayOnly listings whose guest score is one of the selected values (the site's own 6-9 score filter). Empty = any.
bookingNowbooleanOnly listings bookable instantly without owner approval.
priceMinintegerMinimum price per night, RUB. Applied after collection (the site filters price in the browser too), so Max items counts listings before this filter narrows them.
priceMaxintegerMaximum price per night, RUB. Applied after collection (see Min price per night).
urlsarrayURLs mode: listing pages (sutochno.ru/front/searchapp/detail/.sutochno.ru/, sutochno.ru/), hotel pages (sutochno.ru/hotels/, optional ?occupied=from;to), search-app links (term, occupied, guests_adults, sortings, page, is_hotel, id, type), and city or country pages (spb.sutochno.ru/, /hotels, /?page=2, sutochno.ru/armenia). If you add no links, one example of every supported shape is used. In search mode this list is ignored.
fetchDetailsbooleanRead each listing's detail record: full description, all amenities, house rules, check-in/out rules, owner profile, long-stay price tiers, and the full photo set.
fetchReviewsbooleanCollect guest reviews for each listing (up to Max reviews per listing) into a nested reviews field. The Reviews output tab lists them one per row.
maxReviewsintegerMaximum guest reviews collected per listing (0 to 1000). 0 skips reviews.
fetchAvailabilitybooleanPrice each listing for a stay window: total stay price, per-period season prices, prepayment, service fee, booking availability and rooms left.
availabilityDaysintegerLength of the stay window priced per listing (used when Check-in/Check-out are empty): 1-90 nights, default 30.
resumeFromRunIdstringContinue a previous unfinished run: listings already collected by that run are skipped. Leave empty for a fresh run.
changeScopestringIncremental mode: which fields decide UPDATED. 'All fields' compares every field the run reads for the listing (card, detail, availability and reviews, as far as those are switched on). 'Prices and availability only' compares pricePerNight, priceFull, priceWithoutDiscounts, fullPrice, busyStatus, roomsAvailable, bookingNow, extPrices and seasonPrices, so description, photo or owner edits never produce an UPDATED row. Without fixed Check-in/Check-out dates the availability window moves with the run date, so the window totals (fullPrice, periodNights, prepayment, serviceFee, bonus, seasonPrices) are left out of change detection.

Choices: all, priceAndStock

incrementalModebooleanFor scheduled runs: track listings between runs and return only NEW or CHANGED ones (UNCHANGED rows are suppressed unless Emit unchanged is on). Price, availability and detail changes (see Change scope) drive UPDATED; scrape time, change labels and the order of reviews or photos never do. Cannot be combined with Resume from run ID.
stateKeystringAdvanced: name of the incremental baseline. Leave empty to derive it from your search scope automatically (recommended).
emitUnchangedbooleanIncremental mode: also return listings that did not change since the last run (labelled UNCHANGED).
emitExpiredbooleanIncremental mode: label listings that disappeared from the results since the last complete run as EXPIRED.
compactUpdatesbooleanIncremental mode: return UPDATED and EXPIRED listings as slim rows (identifiers, current price and availability, plus priceChanges and variantChanges with the old and new values) instead of the full record. NEW listings stay full. A slim UPDATED row is billed for the availability read only, never for the detail record or reviews it no longer carries. Off by default.
expireAfterMissedScansintegerWith Emit expired: a listing is labelled EXPIRED only after it was missing from this many complete scans in a row (1 = the first complete scan that misses it). EXPIRED means the listing no longer appears in the results, not that it is unavailable for your dates: check busyStatus and roomsAvailable for availability.
ignoreFieldsForChangesarrayAdvanced: dataset field names that should not mark a listing as CHANGED in incremental mode (e.g. fields you find too volatile for your schedule). A dotted path such as seasonPrices.type drops that key from every element of the list while the rest of each element is still compared.
mcpConnectorsarraySend results into your apps (MCP connectors). Leave empty to only use the dataset. See the README for the connector config shape.
notionParentPageUrlstringURL (or id) of the Notion page under which listing pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on items written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

recordIdrecordId
objectIdobjectId
titletitle
typeTitletypeTitle
hotelIdhotelId
hotelTitlehotelTitle
hotelStarshotelStars
urlurl
pricePerNightpricePerNight
fullPricefullPrice
periodNightsperiodNights
currencycurrency
Show 71 more fields
busyStatusbusyStatus
ratingrating
countReviewscountReviews
bookingNowbookingNow
photoCountphotoCount
addressaddress
cityTitlecityTitle
areaarea
bedroomsbedrooms
bedsbeds
guestsguests
maxGuestsmaxGuests
wifiwifi
parkingparking
airConditioningairConditioning
tvtv
metroStationsmetroStations
hotSalehotSale
ownerIdownerId
changeTypechangeType
lastSeenAtlastSeenAt
typeDetailTitletypeDetailTitle
statusTitlestatusTitle
descriptiondescription
shortDescriptionshortDescription
prepaymentprepayment
serviceFeeserviceFee
bonusbonus
roomsAvailableroomsAvailable
seasonPricesseasonPrices
extPricesextPrices
checkInAftercheckInAfter
checkOutUntilcheckOutUntil
prepaymentPercentprepaymentPercent
minNightsminNights
maxNightsmaxNights
minGuestAgeminGuestAge
earlyCheckInearlyCheckIn
lateCheckOutlateCheckOut
roomsCountroomsCount
floorfloor
countBedscountBeds
isChildrenAllowedisChildrenAllowed
partyAllowedpartyAllowed
forCoupleforCouple
ownerNameownerName
ownerCompanyownerCompany
ownerAnswerRateownerAnswerRate
ownerAnswerTimeMinutesownerAnswerTimeMinutes
ownerSinceownerSince
mediaUrlsmediaUrls
latlat
lnglng
externalReviewsexternalReviews
washmachinewashmachine
dateAddeddateAdded
dateUpdateddateUpdated
reviewsreviews
reviewIdreviewId
reviewTextreviewText
reviewConsreviewCons
reviewAuthorreviewAuthor
reviewDatereviewDate
stayBeginstayBegin
stayNightsstayNights
stayGuestsstayGuests
stayAdultsstayAdults
stayChildrenstayChildren
imagesimages
changedFieldschangedFields
firstSeenAtfirstSeenAt

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "recordId": "sutochno:12345678",
  "kind": "listing",
  "objectId": 12345678,
  "title": "Студия",
  "typeTitle": "квартиры, апартаменты",
  "url": "https://sutochno.ru/front/searchapp/detail/12345678",
  "pricePerNight": 5000,
  "fullPrice": 10000,
  "periodNights": 2,
  "currency": "RUB",
  "busyStatus": "unbusy",
  "rating": 4.9,
  "countReviews": 27,
  "bookingNow": true,
  "photoCount": 21,
  "address": "ул. Примерная, 10",
  "cityTitle": "Санкт-Петербург",
  "area": 26,
  "bedrooms": 1,
  "guests": 2,
  "wifi": true,
  "checkInAfter": "15:00",
  "checkOutUntil": "12:00",
  "ownerName": "Анна",
  "ownerAnswerRate": 100,
  "reviews": [
    {
      "reviewId": 123456789,
      "rating": 5,
      "reviewText": "Все ок, цена качество, соответствует.",
      "reviewAuthor": "Guest",
      "reviewDate": "2026-10-01 10:00:00",
      "stayNights": 3
    }
  ],
  "changeType": "NEW"
}

Ways to use this data

  • Who: Price analysts and revenue managers tracking daily rates across Russian cities for specific stay windows.
  • Who: Investors and hosts benchmarking occupancy signals (availability, rooms left) and competitor amenities in their market.
  • Who: Travel and relocation researchers comparing neighborhoods by price, rating, reviews and transit notes.
  • Who: Data teams feeding RU rental inventory into dashboards or alerts through the dataset, API or MCP connectors.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does Sutochno.ru Scraper return?

The documented output for Sutochno.ru Scraper includes recordid, objectid, title, typetitle, hotelid, hoteltitle, hotelstars and url. Availability of each field depends on the source page and the selected mode.

How much does Sutochno.ru Scraper cost?

It costs $2.00 per 1,000 results on the Apify Free plan and from $1.50 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

How do I schedule recurring runs?

Enable Incremental mode and run the actor on a schedule (daily works well). The actor keeps a baseline in its named key-value store keyed by your search scope, returns only NEW or UPDATED listings, and can label disappeared ones as EXPIRED with Emit expired (optionally only after several missed complete scans). Turn on Compact updates for slim price and availability change rows.

Why did my run return fewer results than the site shows?

The site caps its map-lane result counter at 10,000; a walk ends at the natural end of pages. Max items, Max pages and the run time limit also stop a walk early (the status message says so). Min/max price filters apply after collection, so counts before and after the price filter can differ.

Can I use this actor with AI agents or MCP?

Yes. Add an MCP connector to the mcpConnectors input to push results into your connector-enabled app, or read the dataset through Apify's MCP server. The actor's structured fields (prices, availability, reviews, rules) are designed for downstream LLM consumption.

Does the actor log in or need an account?

No. Everything shipped here is public: listings, prices, availability and guest reviews.

Ready to collect with Sutochno.ru Scraper?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.