VK Posts Scraper: VKontakte Wall Posts, Likes & Views avatar

VK Posts Scraper: VKontakte Wall Posts, Likes & Views

Pricing

from $2.00 / 1,000 posts

Go to Apify Store
VK Posts Scraper: VKontakte Wall Posts, Likes & Views

VK Posts Scraper: VKontakte Wall Posts, Likes & Views

Scrape public VKontakte wall posts with text, dates, likes, comments, reposts, views and attachment metadata. Filter by date and export JSON, CSV or Excel. No login or VK token.

Pricing

from $2.00 / 1,000 posts

Rating

0.0

(0)

Developer

GoFetch

GoFetch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

VK Posts Scraper

Export public VKontakte wall posts with text, dates, likes, comments, repost and view counts, and attachment metadata. Supply community handles, profile URLs or wall IDs; get one structured row per post. No VK account or token is needed.

VK wall post output preview

Quick start

  1. Enter public pages, for example ria, rt_russian or sportsru.
  2. Choose how many posts to save per page and for the run. Optionally set a UTC start date or exclude reposts.
  3. Run the Actor and export the dataset as JSON, CSV or Excel.

The prefill fetches 20 posts from the public RIA community. For a larger collection:

{
"pages": ["ria", "https://vk.com/rt_russian", "sportsru"],
"maxPostsPerPage": 100,
"maxItems": 300,
"includeReposts": true
}

Call it from the Apify API using your Apify API token:

curl -X POST 'https://api.apify.com/v2/acts/xmolodtsov~vk-posts-scraper/run-sync-get-dataset-items' \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"pages":["ria"],"maxPostsPerPage":20}'

Input

FieldDefaultMeaning
pagesRequired1–100 handles, VK community/profile URLs, club123, public123, id123, numeric/signed owner IDs, or wall/post URLs. Supports vk.com, vk.ru and m.vk.com. URLs may include queries or trailing slashes. Repeated resolved owners are collected once.
maxPostsPerPage100Maximum saved posts per owner; 0 collects the accessible wall until its end or another limit.
dateFromUnsetYYYY-MM-DD or N days, evaluated in UTC. Older pinned posts are skipped without stopping the wall. The first older ordinary post stops it. Undated posts are skipped when this filter is set.
includeRepoststrueSet false to exclude copied posts before applying result caps.
maxItems1000Run-wide result cap, up to 100,000. On Apify's free plan, the developer limits each run to 100 results and each user to 20 runs per UTC calendar month.
proxyConfigurationApify datacenterApify RESIDENTIAL is replaced by datacenter. Paid runs may use their own proxy URLs for another route. Free runs use Apify Proxy only.

Invalid entries are skipped with a warning if others are usable. If every entry is invalid, the run fails with invalid:. Unknown, deleted, private and closed pages require a positive unavailable marker and are counted separately; other pages continue.

Output

Each saved post has an exact string postId (<signed ownerId>_<id>), its URL and page context, text and UTC date, optional edit time, pinned/repost flags, public author context, available counts, attachment metadata, original input and collection time. Missing values are null; missing attachment collections are empty arrays.

The following example comes from a real datacenter proof run. Text and attachments are shortened for readability; private-person names are replaced with placeholders where applicable.

{
"postId": "-755816_3926556",
"ownerId": "-755816",
"id": "3926556",
"url": "https://vk.com/wall-755816_3926556",
"pageName": "Спортс\"",
"pageScreenName": "sportsru",
"pageUrl": "https://vk.com/sportsru",
"text": "😰🇬🇧 Один из ведущих журналистов по «МЮ», Джеймс Дакер из The Telegraph, сообщает, что будущее Майкла Кэррика на посту главного тренера клуба под серьезной угрозой",
"date": "2026-10-21T21:55:51.000Z",
"editedAt": null,
"isPinned": false,
"isRepost": false,
"repost": null,
"authorId": null,
"authorName": null,
"likesCount": 6,
"commentsCount": 1,
"repostsCount": 1,
"viewsCount": 1353,
"attachments": [
{
"type": "photo",
"url": "https://sun9-83.vkuserphoto.ru/s/v1/ig2/-YQqeaY-UvGGNzkrZHUqc0NBgd0ciXEw3hB_aX7HjItCUKFNH1PTSnnxvqdYSSYzPwbpa_JlZ6cHXAatFtUkfJX1.jpg?quality=96&as=32x32,48x48,72x72,108x108,160x160,240x240,360x360,480x480,540x540,640x640,720x720,1080x1080,1280x1280&from=bu&u=2xgH48zWNJ3ZpV31JWzpvVhuGaKjo4QM66nuVS8e0ow&cs=1280x0",
"width": 1280,
"height": 1280,
"title": null,
"duration": null
}
],
"inputUrl": "sportsru",
"scrapedAt": "2026-10-21T23:26:00.278Z"
}

repost, when available, contains the copied post's postId, url, ownerId, ownerName, text and date. Counts (likesCount, commentsCount, repostsCount, viewsCount) remain nullable because VK may hide them. Attachments contain type, url, width, height, title and duration for photos, videos, links, documents, audio and polls. Media is not downloaded. Embedded reply nodes never become post rows.

Pricing

Billing uses one Post event per saved dataset row, with no start fee or add-on events.

Apify planPrice per 1,000 posts
FREE$3.60
BRONZE$3.20
SILVER$2.60
GOLD, PLATINUM, DIAMOND$2.00
ExampleBRONZE totalGOLD total
100 saved posts$0.32$0.20
300 saved posts$0.96$0.60
2,000 saved posts$6.40$4.00

Totals are the listed Post event charges. Free-plan use draws on available Apify credit at the FREE rate; actual availability depends on your Apify account.

Is it free?

Apify's free plan can use available monthly credit. This developer permits 100 results per run and 20 runs per UTC calendar month, shared across your runs of this Actor. The 21st run succeeds with a quota message before starting any proxy requests. The quota resets on the first day of the next UTC month. Paid Apify plans remove these developer caps; input and budget limits still apply.

Reliability and limits

Residential Apify Proxy is not used: it measured unreliable for VK; datacenter measured 0 refusals in the build proof. An Apify RESIDENTIAL group is removed (other selected groups are kept), with one warning and STATISTICS.proxyOverride = "RESIDENTIAL->DATACENTER". Paid runs may use their own proxy URLs for another route. Free runs use Apify Proxy only. No public wall is guaranteed to remain available or complete.

Wall offsets advance by ten. A valid no_posts answer, or a measured final short page at the reported total, confirms a clean end. Repeated pages or later source/shape errors count as truncation and are logged separately. Caps, date filters and budget/deadline stops can intentionally end a collection before the wall's end. Pinned posts can be older than posts after them and never stop date-based paging.

Saved rows survive later input failures. Such runs succeed with a partial status. Confirmed empty or unavailable walls can succeed with no results. Processing failures with zero saved rows fail with a diagnostic prefix such as blocked:, network:, timeout: or outdated:. Budget exhaustion succeeds with run budget reached. Near a run timeout the Actor stops starting requests, flushes rows and writes STATISTICS. Dataset IDs seed deduplication after restarts, so already saved posts are not pushed again. A restart can still see newly published or removed source posts.

What's not included

Comments or reply harvesting, reaction breakdowns, contact data, member lists, private walls, downloads, monitoring, VK-wide search and authenticated access are outside this Actor's scope. A comment count does not include comment content. Attachments and repost details depend on what the anonymous source exposes.

Integrations

Use Apify datasets with the API, webhooks, n8n or Make. Export JSON for nested attachments and repost context, or CSV/Excel for spreadsheets. Configure schedules in Apify if your workflow needs repeat runs; each run is a new collection.

FAQ

Why did I receive fewer posts than requested?

The wall may end, the date/repost filters may exclude posts, or a free-plan, input, budget or deadline limit may apply. Check the status message and STATISTICS for clean ends, truncations, unavailable pages, failed inputs and refusal counts. Anonymous access can expose fewer posts than a logged-in browser.

This Actor accesses public walls without logging in and does not collect contact fields. Public availability does not remove privacy, copyright or platform obligations. Use the output only where you have an appropriate lawful basis and handle any personal data under applicable rules, including GDPR or CCPA where relevant. Do not use it to access private data.

How do I get help?

Open an issue in the Actor's Apify Issues tab with a public input, run URL and expected result. Avoid including credentials or private data.

More scrapers from this developer

TikTok: TikTok Search Scraper: Videos and creators for any keyword, pay per result · TikTok Profile Scraper (Pay Per Result): Profiles, followers and latest posts by username · TikTok Comments Scraper: Comments and full reply threads from any video · TikTok Hashtag Scraper: Videos for any hashtag, with views, likes and music · TikTok Sound & Music Scraper: Videos that use a sound or song · TikTok Top Ads Scraper: Public Creative Center ad rankings, engagement, media and landing pages

Social & news: Reddit Search Scraper: Posts by keyword, subreddit or author · Google News Scraper: Google News results as clean full-text articles · Threads Replies Scraper: Public post replies, likes, authors and inline nested replies

Instagram: Instagram Reel Scraper: Public profile reels, plays, captions, music and media URLs · Instagram Comment Scraper: Public post and reel comments, likes, timestamps and usernames

E-commerce: Prom.ua Product Search Scraper: Prom.ua product search results, no browser needed · Amazon Product Search & Bestsellers Scraper: Search results, Best Sellers and product details from Amazon · AliExpress Search Scraper: AliExpress products by keyword with prices, orders and shipping · AliExpress Product Reviews Scraper: Public product reviews, ratings, buyer photos and follow-up feedback

Maps & leads: Google Maps Scraper: Places, leads and emails from Google Maps

Ads: Facebook Ad Library Scraper (Meta Ads Library): Ads from the Meta Ad Library, with EU reach and payers · Google Ads Transparency Scraper: Google ad creatives by advertiser or domain, with regional details

Video: YouTube Transcript Scraper: Transcripts, subtitles and captions from YouTube videos · YouTube Shorts Scraper: Shorts of any channel with exact views, likes and duration · YouTube Channel Scraper: Every video of a channel, with channel stats · YouTube Search Scraper: Search results and videos for any keyword · YouTube Comments Scraper: Comments, replies and likes from any video · Bilibili Comments Scraper: Public hot comments and reply threads by video or keyword

Jobs: SEEK Job Listings Scraper: Public AU/NZ job listings, salaries and redacted descriptions