VK Scraper (VKontakte, Парсер ВК) | Posts, Comments, Profiles avatar

VK Scraper (VKontakte, Парсер ВК) | Posts, Comments, Profiles

Pricing

from $3.60 / 1,000 posts

Go to Apify Store
VK Scraper (VKontakte, Парсер ВК) | Posts, Comments, Profiles

VK Scraper (VKontakte, Парсер ВК) | Posts, Comments, Profiles

The VK Scraper (парсер ВК) extracts public VKontakte wall posts from communities and profiles without a login: text, likes, reposts, views, media and repost source, plus comment threads and profile rows with followers, verified badge and contacts. For social listening, media monitoring and research.

Pricing

from $3.60 / 1,000 posts

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

60

Total users

22

Monthly active users

an hour ago

Last modified

Features

Limited permissions

Share

🚀 VK Scraper: Wall Posts, Comments and Community Data

Turn any public VK (VKontakte) wall into clean JSON, CSV or Excel, with no VK account, login, app or API token. The VK Scraper takes community handles, profile links or single post URLs and returns every post with its text, likes, reposts, views, media and repost source. It can also save the VK comments under each post and a community profile row with members, verified badge, description and contacts. Use it as a VK parser (парсер ВК) for social listening, media monitoring and research, or as a simple alternative to the VK API and VKontakte API.

🎯 VK Data Use Cases

  • VK API alternative for wall posts: pull posts from any public community or profile without registering an app or handling tokens.
  • Export VK comments: collect every comment and threaded reply under a post for sentiment analysis, moderation reviews or audience research.
  • VK community monitoring (мониторинг ВК): track what competitors, brands and media publish, and how much engagement each post gets.
  • VK community analytics (аналитика ВК, статистика сообщества ВК): compare members, posting frequency, likes, reposts and views across communities.
  • Research datasets (парсинг ВКонтакте): build dated datasets of Russian-language posts for academic, media or market research.
  • Lead and partner lists: collect community descriptions, websites, contact persons and pinned links from public VK communities.

✨ Features

  • Wall posts at scale: text, publish and edit time, likes, reposts, views, comment count, post type, pinned and ad flags, and the original post when it is a repost. Walls with tens of thousands of posts can be paged to the end, at about 1,500 posts a minute per wall (an 80,000-post wall takes most of the default 1-hour run timeout).
  • Comments and threaded replies: every comment with author, text, likes, reply count and the parent comment it answers, including replies beyond the first few that VK shows under a comment.
  • Profile rows: members (communities) or followers (people), verified badge, status, description, activity, city, website, contact persons and pinned links.
  • Media: photos in the largest available size, videos with title, duration and view count, links with preview, documents, polls and articles, each as a normalised attachment object.
  • Any public target: communities (lentach, club29534144, https://vk.com/lentach), people (durov, id1), wall links (https://vk.com/wall-29534144), vk.ru and mobile links, or a single post (https://vk.com/wall-29534144_25069682). A post or comment reached twice in a run is saved and billed once.
  • Filters: date window (publishedAfter / publishedBefore) that stops paging once the wall is older than your start date and jumps straight to an old end date instead of paging every newer post, a case-insensitive keyword filter on post text (it gives up on a wall after 2,000 posts in a row without a match unless you set a start date or raise the limit), and switches to skip pinned posts or reposts. Dates can be 2025-01-31, 31.01.2025 or relative (7 days, 24 hours) for scheduled runs.
  • Fast: 100 posts usually arrive in a few seconds.
  • Fair billing: one price per post, per comment and per profile. A run whose targets don't exist or aren't public ends with a clear message and nothing charged.

🛠️ How It Works

  1. Enter targets: paste VK community or profile URLs, handles, ids or direct post links into Profiles, communities or posts.
  2. Choose what to collect: set Max posts per target, turn on Include comments and Include profile if you need them, and add a date window or keyword.
  3. Run the scraper: each post, comment and profile lands in the dataset as its own row (type = post, comment or profile), ready to export to JSON, CSV or Excel or to read through the Apify API.

⚙️ Input

FieldWhat it does
Profiles, communities or postsVK handles, ids or URLs: a community, a person's profile, a wall link, a VK Video channel (vkvideo.ru/@kinopoisk) or a single post. Several in one line (comma or space separated) are split. Public walls only.
Max posts per targetPosts to collect from each wall, newest first. Default 50. A pinned post comes first, as on the wall: turn off Include pinned posts for strictly the newest.
Published afterOnly posts published on or after this date: 2025-01-01, 01.01.2025 or 01-01-2025 (day first), yesterday, a unix timestamp, or relative 7 days / 24 hours (handy in a schedule). The log shows how the date was read. Paging stops once the wall is older.
Published beforeOnly posts up to this moment, same formats. A plain date means 00:00 UTC, so use the next date or 2025-12-31T23:59:59Z to include that whole day.
Keyword filterOnly keep posts whose text contains this word or phrase (case-insensitive). A wall search link (vk.com/wall-29534144?q=word) keeps its word as that wall's filter. A single post link is always returned, whatever the filters.
Max posts to scan without a matchWith a keyword and no Published after date, stop a wall after this many posts in a row without a match. Default 2,000 (common words match every few hundred posts; a word that never appears would otherwise page an 80,000-post wall for ~50 minutes). 0 scans everything; a Published after date bounds the scan instead.
Include pinned postsKeep the post pinned to the top of a wall. Default on.
Include repostsKeep posts that share another post. Turn off to save only a wall's own posts. Default on.
Include commentsAlso save the comments and threaded replies under each post. Default off.
Max comments per postCap on comments (including replies) saved per post. Default 100.
Include profileAlso save one profile row per target. Default off.
Max itemsTotal rows (posts, comments and profiles) across all targets. Default 200. Targets are read in parallel, so with a small limit the first walls can use all of it; the run status names the targets that returned nothing.
{
"targets": ["https://vk.com/lentach", "durov"],
"maxPosts": 100,
"publishedAfter": "2026-09-01",
"includeComments": true,
"maxCommentsPerPost": 50,
"includeProfile": true,
"maxItems": 2000
}

💰 Pricing

Pay only for the rows you get. No monthly rental.

EventPriceWhat you get
Post$0.0036 per post ($3.60 per 1,000)One post row with text, engagement counts, repost source and media
Comment$0.002 per comment ($2.00 per 1,000)One comment or reply row with author, text, likes and thread parent
Profile$0.005 per profileOne profile row with members or followers, verified badge, description, contacts
Actor start$0.00005 per runCharged once when the run starts (one event per GB of memory; the default is 1 GB)

Examples:

  • 50 posts from one community = $0.18.
  • 1,000 posts = $3.60.
  • 10 communities × 100 posts, 1,000 comments and 10 profiles = $3.60 + $2.00 + $0.05 = $5.65.

📊 Sample Output Data

A real post row:

{
"type": "post",
"id": "-29534144_25100335",
"url": "https://vk.com/wall-29534144_25100335",
"ownerId": -29534144,
"ownerName": "Лентач",
"ownerUrl": "https://vk.com/lentach",
"authorId": -29534144,
"authorName": "Лентач",
"authorUrl": "https://vk.com/lentach",
"text": "Вышел финальный трейлер GTA VI.\n\nРелиз 19 ноября",
"publishedAt": "2026-10-15T13:12:47.000Z",
"editedAt": null,
"likes": 293,
"reposts": 252,
"views": 55301,
"comments": 43,
"isPinned": false,
"isAd": false,
"postType": "post",
"signerId": null,
"repostOf": null,
"attachments": [
{
"type": "video",
"url": "https://vk.com/video-29534144_456330192",
"title": "трейлер",
"thumbnailUrl": "https://sun9-56.userapi.com/s/v1/ig2/S2HVr-uS1_MteUi9Opd3cXSxoozopc1Usv_dej637EHcumtvpzFGmRtm…",
"duration": 90,
"views": 10446
}
],
"target": "https://vk.com/lentach"
}

And a real community profile row (includeProfile):

{
"type": "profile",
"id": -22822305,
"url": "https://vk.com/vk",
"profileType": "page",
"name": "ВКонтакте",
"screenName": "vk",
"isVerified": true,
"isClosed": 0,
"followers": null,
"members": 14150336,
"description": "Это главное сообщество Команды ВКонтакте. Здесь вы можете узнать обо всех новостях из первых рук.…",
"status": "Социальная сеть",
"activity": "VK",
"city": null,
"country": null,
"website": "vk.ru/about",
"birthDate": null,
"lastSeenAt": null,
"photoUrl": "https://sun1-20.userapi.com/s/v1/ig2/zDEG4UdMqCoj41uKsL1KQ3cepVDkLGH4V57MvA0NacpzvjOVtBy8uqRFnr…",
"contacts": [
{ "userId": null, "description": "Представителям прессы", "phone": null, "email": "press@vk.com" },
{ "userId": null, "description": "По вопросам рекламы", "phone": null, "email": "adv@corp.vk.com" }
],
"links": [
{ "url": "https://vk.com/business", "name": "ВКонтакте для бизнеса" },
{ "url": "https://vk.com/brand", "name": "Брендбук ВКонтакте" }
],
"target": "vk"
}

Negative ids are communities and positive ids are people, as on VK itself. repostOf holds the original post (id, url, owner name, text, date and attachments) when the row is a repost. target is the input the row came from. Comment rows add postId, postUrl, parentCommentId (set on threaded replies), replyToUserId and replies.

🔁 Schedule and Integrate VK Monitoring

For VK community monitoring, run it once a day with the same targets and publishedAfter set to yesterday: you get only the new posts and their latest likes, reposts and views. For brand or news monitoring, hourly runs with a small Max posts per target catch posts as they appear. Set it up in Apify Schedules, then send the results to Google Sheets, Zapier, Make, n8n or a webhook with Apify integrations, so new VK posts land where your team already works.

🤖 Use with AI Agents (MCP)

This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (https://mcp.apify.com). An agent can call it with:

{ "targets": ["https://vk.com/lentach"], "maxPosts": 20 }

❓ FAQ: VK API, Comments and Limits

Does VK have an official API? Yes. The VK API (VKontakte API) is free and well documented, but you have to register an app and get an access token first, some methods only work with a user token from a logged-in VK account, and requests are rate-limited per token. This Actor needs no app, token or account: you paste the communities or posts you want and get posts, comments and profile rows as ready-made tables, with paging, retries and date filtering handled for you.

Do I need a VK account or login? No. The Actor works on public walls: open communities, public pages and profiles whose wall is visible without logging in. Closed profiles and private groups are skipped with a warning in the log.

How do I scrape VK comments? Turn on Include comments and set Max comments per post. Each comment and threaded reply becomes its own row with the post it belongs to and, for replies, the parent comment. Deleted comments are not returned; the replies under a deleted comment are, as on VK.

Why is a field empty? On profile rows deactivated is deleted or banned for a removed account (its name is then DELETED) and null otherwise. members is filled for communities and followers for people, so the other one is null. city, country, website and contacts are null or empty when the owner didn't fill them in. signerId is only set when a community post is signed by its author, and editedAt only when the post was edited. Counts (likes, reposts, views, comments) are the numbers VK shows at scrape time.

What are the limits? maxPosts is per wall and maxItems caps the total rows in a run. A few communities are visible only from inside Russia and can come back empty. VK-wide keyword search is not available without an account, so the keyword filter applies to the posts of the targets you list.

Can I search all of VK for a keyword? Not with this Actor. List the communities you care about and use the Keyword filter to keep only posts that mention your brand, product or topic.

How do I get VK community statistics (статистика сообщества ВК)? Turn on Include profile for members and description, then schedule daily runs: posts per day, average likes, reposts and views per post come straight from the post rows.

⌂ 换网址