VK Posts Scraper - Walls, Media & Engagement avatar

VK Posts Scraper - Walls, Media & Engagement

Pricing

Pay per usage

Go to Apify Store
VK Posts Scraper - Walls, Media & Engagement

VK Posts Scraper - Walls, Media & Engagement

Scrape public VK profile and community posts without login, browser, or proxy. Export text, authors, dates, reactions, comments, reposts, views, media metadata, and source URLs.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Thirdwatch

Thirdwatch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

6 days ago

Last modified

Share

VK Posts Scraper

Scrape public VK profile and community posts without a VK login, API key, browser, or proxy. Export clean post rows with text, authors, dates, reactions, comments, reposts, views, media metadata, and stable source URLs.

The Actor reads VK's server-rendered structured post payloads over HTTP. That keeps runs fast and inexpensive while avoiding brittle scraping of localized button labels.

Quick start

Use a handle, public profile/community URL, wall URL, or direct post URL:

{
"targets": ["durov", "https://vk.com/wall1_2442097"],
"maxPostsPerTarget": 20,
"maxTotalPosts": 40
}

No cookies, credentials, API token, residential proxy, or browser setup is required.

Inputs

InputWhat it controlsDefault
targetsPublic VK handles, profiles, communities, walls, and direct post URLsdurov
maxPostsPerTargetMaximum eligible posts saved from each target20
maxTotalPostsGlobal result cap across the run100
publishedAfterInclusive lower publication-date boundnone
publishedBeforeInclusive upper publication-date boundnone
includeRepostsInclude posts with copy historytrue
includePinnedInclude pinned poststrue
maxPagesPerTargetHistorical-pagination safety cap; about 20 posts/page25

Supported target examples:

  • durov
  • club22822305
  • https://vk.com/durov
  • https://vk.com/wall1?own=1
  • https://vk.com/wall-22822305
  • https://vk.com/wall1_2442097

Output

Each eligible public post is one dataset row and one billable result:

{
"recordType": "vk_post",
"target": "durov",
"targetType": "profile",
"ownerId": 1,
"postId": 2442097,
"sourceUrl": "https://vk.com/wall1_2442097",
"text": "...",
"postedAt": "2018-05-08T18:59:24Z",
"editedAt": "2018-05-08T21:10:26Z",
"isPinned": false,
"author": {
"id": 1,
"name": "Pavel Durov",
"screenName": "durov",
"profileUrl": "https://vk.com/durov",
"photoUrl": "https://...",
"verified": true
},
"engagement": {
"likesCount": 242724,
"commentsCount": 0,
"repostsCount": 14837,
"viewsCount": 15729030,
"reactions": []
},
"media": [],
"mediaTypes": [],
"repost": null,
"scrapedAt": "2026-08-12T00:00:00Z"
}

Top-level authorName, likesCount, commentsCount, repostsCount, and viewsCount fields are also included for convenient spreadsheet exports. The nested objects retain richer structured data.

Common workflows

  • Monitor brand or community announcements on scheduled runs.
  • Compare engagement across public profiles and communities.
  • Archive public posts and media metadata for research.
  • Track a date-bounded campaign or news event.
  • Feed public VK content into dashboards, warehouses, or alerting workflows.

Deduplication uses VK's stable (ownerId, postId) pair. If multiple inputs find the same post, it is saved and charged once per run.

Pricing and cost control

The entry tier is $0.003 per unique saved post, below the leading comparable Actor's $0.0036/post price observed during development. BRONZE, SILVER, and GOLD tiers reduce the unit price for higher-volume users.

Use maxPostsPerTarget, maxTotalPosts, and date bounds to make the run size predictable. Skipped duplicates, reposts, pinned posts, out-of-range posts, invalid targets, and empty pages are not charged.

Limitations and troubleshooting

  • Public pages only. Private, deleted, age-gated, login-only, or geographically unavailable content is not bypassed.
  • VK can expose different fields for different post and attachment types; absent source fields remain null or empty.
  • Direct URLs work only while VK continues to expose the public post.
  • Very old history requires more wall pages. Increase maxPagesPerTarget carefully and use publishedAfter to stop early.
  • An empty dataset usually means the target is private/unavailable, no post matched the date or repost filters, or VK exposed no anonymous public wall payload.
  • Use Apify schedules for monitoring and compare postId plus engagement counts across runs.

This Actor collects public data only. Use the output lawfully and respect privacy, data-protection, and platform requirements that apply to your use case.