OK.ru Scraper at a glance
OK.ru Scraper is a ready-to-run Apify actor from abotapi for collecting web data. Its documented output includes kind, id, name, title and text, 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.40 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
- Web data
- Region
- Europe
- Pricing
- $2.00 per 1,000 results (Free plan), from $1.40 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 15 options
Scrape public OK.ru users, groups, topics, posts, videos, games and greetings by keyword or URL. Extract profiles, feeds, views, likes, comments, players and ratings as clean JSON, with change tracking for recurring monitoring. No account required.
What OK.ru Scraper can do
- No login, ever. Search, group feeds, topic posts, videos, games and profile enrichment all work from what the site shows logged out visitors; you never provide an account.
- Many ways in. Search users, groups, topic posts, videos or games by keyword (one query or a list of queries), or paste any mix of links, groups, topics, profiles, videos, the video showcase, the games catalogue or a single game, and greetings pages, each auto-detected.
- Output tabs and run summary. The Output tab has separate views for overview, profiles, groups and topics, videos, comments (one row per comment), games, greetings and incremental changes. Each run also saves an OUTPUT record in the key-value store with counts per record kind and the refused, not found and unchanged counts.
- Videos and games with real engagement. Views, likes, duration and publish date for every video, players and rating with vote count for every game. Turn on Include comments to nest the first page of comments; the site serves at most the first 20 comments, oldest first, to logged out visitors, so that is the ceiling and deeper pages are not collected.
- Monitoring built in. Schedule the same input on a recurring basis and receive only new and changed records, each marked NEW or UPDATED, with the changed fields listed.
- Loud on blocks. When the site refuses every request, the run fails with a clear message instead of finishing quietly with no results.
Choose what to collect
These inputs let you configure OK.ru Scraper - Users, Groups, Posts, Videos & Games. Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring · required | Search runs the site's own search (profiles, groups, topic posts, videos or games). Links accepts any ok.ru links - groups, topics, profiles, videos, the video showcase, games and greetings pages - auto-detected per entry and read by the matching lane. |
searchQuerystring | Search mode: keyword or phrase (Russian or English). |
searchQueriesarray | Search mode: extra keywords searched in the same run, one after another, in addition to the query above. Max items applies to each type of each query; repeated records are returned once. |
searchTypesarray | Search mode: pick any mix of types; each one is searched for the same query and Max items applies to each type. Profiles returns user records; groups returns groups with members, category and description; topic posts returns posts; videos returns videos with views, likes and duration; games returns games with players and rating. |
linksarray | Links mode: any mix of ok.ru links or bare profile IDs - groups (/group/), topics (/group//topic/), profiles (/profile/), videos (/video/), the video showcase (/video), the games catalogue or a genre (/games, /games/board), one game (/game/) and greetings (/pozdravleniya or a category such as /pozdravleniya/s-dnem-rozhdeniya), plus an ok.ru search page link (/search?st.query=...). |
maxItemsinteger | Stop after this many records (0 = the hard ceiling of 100000 per run). In search mode the limit applies to each selected type. |
includeCommentsboolean | Off by default. Turn on to add the comments OK.ru shows to logged-out visitors (the first 20, oldest first) inside each video and topic record. Each record returned with comments is charged one small Comments collected event; records without comments are not. The total comment count is included either way for video links. |
Show 8 more inputs
| Input | What it controls |
|---|---|
resumeFromRunIdstring | Paste a previous run ID or dataset ID to continue a large pull without returning items already collected there. |
incrementalModeboolean | Turn this on for daily or recurring monitoring. The first run returns every matching record as NEW. Later runs normally return only NEW and UPDATED records. Turn on Emit unchanged only when you also want those rows returned (and billed). |
stateKeystring | Optional. Name this monitoring campaign to keep its state stable. Leave empty to derive a key from the run settings. |
emitUnchangedboolean | Off by default. Turn on to also return records that have not changed since the last run, marked UNCHANGED. This returns, and bills, extra rows you already have. |
ignoreFieldsForChangesarray | Incremental mode only. Field names that never make a record count as UPDATED, in addition to the built-in ones (view, like, comment, player and member counters, vote counts, the avatar URL and the feed texts). The fields stay in the output; they just do not trigger a change. Use a dot for nested fields, for example author.name. |
mcpConnectorsarray | Optionally send results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize one under Apify, Settings, API & Integrations, then select it here. Notion gets a rich page-per-item export; other connectors get a best-effort write or digest. Leave empty to skip; never changes the dataset output. |
notionParentPageUrlstring | URL or id of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors. |
maxNotifyListingsinteger | Cap 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.
kindkindididnamenametitletitletexttexturlurlgroupIdgroupIdmembersCountmembersCountfeedCountfeedCountfeedTextsfeedTextscommentsCountcommentsCountgendergenderShow 41 more fields
birthdaybirthdaylocationlocationavataravatarviewsCountviewsCountlikesCountlikesCountplayersCountplayersCountratingratingcategorycategorydescriptiondescriptioncreatedAtcreatedAtchangeTypechangeTypefirstSeenAtfirstSeenAtlastSeenAtlastSeenAtdurationSecondsdurationSecondsdurationMsdurationMspublishedAtpublishedAtcreatedTimestampcreatedTimestampdailyViewsdailyViewsproviderproviderblockedblockedchannelNamechannelNamechannelUrlchannelUrlownerTypeownerTypeownerIdownerIdisLiveisLivethumbnailthumbnailcommentscommentsgenregenretagstagsratingVotesratingVotesdeveloperdeveloperis18plusis18plusisNewisNewimageimagetopicUrltopicUrlfirstNamefirstName (text)lastNamelastName (text)ageage (text)onlineonline (text)isPrivateisPrivate (text)changedFieldschangedFields (array)Example output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"kind": "profile",
"id": "123456789012",
"name": "First Last",
"firstName": "First",
"lastName": "Last",
"url": "https://ok.ru/profile/123456789012",
"gender": "male",
"birthday": "05-12",
"location": "Sample City, Sample Country",
"avatar": "https://i.okcdn.ru/i?r=SampleAvatar",
"changeType": "NEW",
"firstSeenAt": "2026-09-27T09:00:00+00:00",
"lastSeenAt": "2026-09-27T09:00:00+00:00"
}Ways to use this data
- Community researcher: track group membership, category and recent feed activity for public communities.
- OSINT analyst: turn a bare profile ID or link into structured name, gender, birthday and location.
- Video and channel monitor: track views, likes and comments for individual OK.ru videos over time.
- Games market analyst: compare player counts, ratings and genres across the whole games catalogue or one genre.
- Recurring content monitor: schedule a search or a fixed list of links daily and get only what is new or changed.
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 OK.ru Scraper return?
The documented output for OK.ru Scraper includes kind, id, name, title, text, url, groupid and memberscount. Availability of each field depends on the source page and the selected mode.
How much does OK.ru Scraper cost?
It costs $2.00 per 1,000 results on the Apify Free plan and from $1.40 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.
Can I get only new or changed records on a schedule?
Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Later runs then return only new and updated records; unchanged ones are not billed unless you turn on Emit unchanged. There is no EXPIRED or REAPPEARED tracking: a record that disappears from the site just stops showing up, it is not flagged.
Why did I get fewer records than Max items?
In search mode, a search stops as soon as one page brings nothing new, even if the site says more pages exist, so on a broad query it can stop before the real end of the results; those records are not collected (or billed) in that run. Run it again or split it into narrower queries. If you selected both Topic posts and Groups, groups already returned by the topic posts search are skipped, and Groups search can stop early for the same reason; run Groups search on its own for a full list. See How Max items applies above. In links mode, each entry is read once, so the count depends only on how many links you pasted and what the site returns for each.
Does Resume from a previous run skip records I already have?
Yes. Paste the earlier run or dataset ID into resumeFromRunId; records already in it are skipped and not billed.
Why did my run fail instead of returning an empty dataset?
If the site refuses every request, the run stops with a clear message so "nothing found" is never confused with "nothing could be read". The same applies in links mode when none of your links can be read, for example because they do not exist on OK.ru: the run fails instead of returning empty or placeholder records. Run it again in a few minutes, or check the link.
