VK Community Posts Scraper – Public Wall Export avatar

VK Community Posts Scraper – Public Wall Export

Pricing

from $1.00 / 1,000 results

Go to Apify Store
VK Community Posts Scraper – Public Wall Export

VK Community Posts Scraper – Public Wall Export

Collect public VK community posts by screen name. Export text, authors, dates, engagement counts, media references, and community details with wall pagination.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

ScrapingMonkey

ScrapingMonkey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Collect public wall posts from VK groups and public pages, with the source community's details attached to each result. VK Community Posts Scraper returns post text, authors, dates, engagement counts, media references, and available repost context.

Use it to compare brand content, follow community announcements, or build a public content dataset. A page budget controls how far to collect from each community, while every post remains a separate row.

At a glanceDetails
📥 InputPlain VK community screen names, such as vk
📤 OutputOne row per collected post, with source-community context
📄 PaginationConfigurable pages per community; wall offsets advance by 10
📎 MediaAvailable attachment metadata, URLs, previews, and supplied repost details
🔐 Login requiredNo VK credentials or cookies

What the VK community posts scraper collects 📰

Each collected wall post can include:

  • Composite post ID, numeric ID, wall owner ID, and permalink
  • Text, author name and ID, profile link, and avatar
  • Publication timestamp, UTC date, and visible date text
  • Like, comment, repost, and view counts
  • Photo, video, document, link, poll, or other attachment metadata when exposed
  • Supplied repost history and available copyright or geographic context
  • Pinned, advertising, favorite, and action indicators
  • Public source-community details

The source community's identity, description, member count, links, and other available details repeat on each post. This keeps the result usable when posts are filtered or exported separately.

How to scrape VK community posts 🚀

  1. Add plain community screen names such as vk.
  2. Choose pagesPerCommunity for the wall-page budget.
  3. Start the Actor and review the collected posts and any failed rows.
  4. Export the dataset or pass selected post URLs to another workflow.
{
"inputList": [
"vk"
],
"pagesPerCommunity": 2
}

Duplicate screen names are processed once case-insensitively. Repeated post IDs are removed across pages of the same wall.

VK community post fields and output 📦

Field groupIncluded data
Post identityInput, status, composite ID, numeric post ID, wall owner, and URL
Content and authorText, author identity, avatar, dates, and timestamp
EngagementLikes, comments, reposts, and views
Media and contextAttachments, supplied repost history, copyright, geography, and post indicators
Source communityCommunity ID, name, type, description, website, audience counts, images, and available contacts or business details

Complete illustrative output item with all 110 fields. The post, community, and values below are fictional examples, not a live result:

{
"input": "sample.workshop",
"status": "success",
"url": "https://vk.ru/wall-12345678_250",
"id": "-12345678_250",
"post_id": 250,
"owner_id": -12345678,
"author_id": -12345678,
"text": "Our next photography workshop takes place this Saturday. See the schedule on our website.",
"date": "2026-09-08T11:00:00Z",
"timestamp": 1788865200,
"date_text": "8 сен 2026 в 14:00",
"author.id": -12345678,
"author.name": "Example Photography Workshop",
"author.url": "https://vk.ru/sample.workshop",
"author.avatar_url": "https://example.com/community-400.jpg",
"likes_count": 84,
"comments_count": 12,
"reposts_count": 7,
"views_count": 2400,
"attachments.path": [
"/0/type",
"/0/id",
"/0/owner_id",
"/0/album_id",
"/0/text",
"/0/timestamp",
"/0/url",
"/0/width",
"/0/height",
"/0/thumbnails/0/url",
"/0/thumbnails/0/width",
"/0/thumbnails/0/height",
"/0/thumbnails/0/type"
],
"attachments.value": [
"photo",
987654321,
-12345678,
-7,
"Workshop studio",
1788865200,
"https://example.com/workshop-photo.jpg",
1280,
853,
"https://example.com/workshop-photo.jpg",
1280,
853,
"x"
],
"reposted_posts.path": [],
"reposted_posts.value": [],
"post_type": "post",
"signer_id": 0,
"is_pinned": false,
"is_ad": false,
"is_favorite": false,
"can_like": false,
"can_comment": false,
"can_repost": false,
"copyright.path": [
"/name",
"/link"
],
"copyright.value": [
"Example Photography Workshop",
"https://example.com/workshops"
],
"geo.path": [],
"geo.value": [],
"community.avatar_url": "https://example.com/community-400.jpg",
"community.community_url": "https://vk.ru/sample.workshop",
"community.id": 12345678,
"community.username": "sample.workshop",
"community.name": "Example Photography Workshop",
"community.type": "page",
"community.activity": "Photography",
"community.description": "Public photography workshops and community events.",
"community.community_status": "New workshop dates are available",
"community.website": "https://example.com/workshops",
"community.members_count": 8200,
"community.posts_count": 250,
"community.photos_count": 680,
"community.videos_count": 22,
"community.clips_count": 14,
"community.is_verified": false,
"community.is_closed": false,
"community.can_access_closed": true,
"community.contacts.user_id": [
123456789
],
"community.contacts.name": [
"Alex Morgan"
],
"community.contacts.description": [
"Workshop coordinator"
],
"community.contacts.phone": [
""
],
"community.contacts.email": [
"workshops@example.com"
],
"community.links.id": [
42
],
"community.links.name": [
"Workshop schedule"
],
"community.links.description": [
"Dates and registration"
],
"community.links.url": [
"https://example.com/workshops"
],
"community.links.photo_url": [
"https://example.com/workshop-thumbnail.jpg"
],
"community.city.id": 1,
"community.city.name": "Moscow",
"community.country.id": 1,
"community.country.name": "Russia",
"community.address": "Workshop studio",
"community.market.path": [
"/enabled"
],
"community.market.value": [
false
],
"community.business_data.path": [
"/company_name"
],
"community.business_data.value": [
"Example Photography Workshop"
],
"community.friends_count": 0,
"community.articles_count": 8,
"community.topics_count": 5,
"community.docs_count": 2,
"community.addresses_count": 1,
"community.avatar_thumbnails.size": [
"100",
"400_orig"
],
"community.avatar_thumbnails.url": [
"https://example.com/community-100.jpg",
"https://example.com/community-400.jpg"
],
"community.cover_url": "https://example.com/community-cover.jpg",
"community.cover_images.url": [
"https://example.com/community-cover.jpg"
],
"community.cover_images.width": [
1590
],
"community.cover_images.height": [
400
],
"community.latitude": "55.75",
"community.longitude": "37.62",
"community.closed_type": 0,
"community.is_member": false,
"community.is_advertiser": false,
"community.is_no_index": false,
"community.age_limits": 0,
"community.main_section": 0,
"community.member_status": 0,
"community.can_message": false,
"community.can_post": false,
"community.can_see_all_posts": true,
"community.can_upload_doc": false,
"community.can_upload_video": false,
"community.start_at": 0,
"community.start_date": "",
"community.finish_at": 0,
"community.finish_date": "",
"community.event_status": "",
"community.action_button.path": [
"/type",
"/url"
],
"community.action_button.value": [
"open_url",
"https://example.com/workshops"
],
"community.community_channel.path": [],
"community.community_channel.value": [],
"community.addresses.path": [
"/main_address/id",
"/main_address/address"
],
"community.addresses.value": [
1,
"Workshop studio"
],
"community.menu.path": [],
"community.menu.value": []
}

Each post occupies one row in one table. JSON uses the same literal keys as the columns, including author.name and community.name. The source community is repeated within each post row rather than saved as a separate result.

Variable attachment fields use matching attachments.path and attachments.value lists. For example, /0/type identifies the first attachment's type; the corresponding value is at the same list position. Reposted content, copyright, and geography use the same paired-list pattern. Variable community sections, such as community.market.path and community.market.value, use the same pattern. Community contacts, links, avatars, and cover images use aligned lists within each field group.

Successful results preserve empty strings, empty lists, 0, and false when values are omitted. Missing counts should not automatically be interpreted as confirmed zero engagement or audience. Failed results retain input, set status to failed, and use null for the other fields.

Input requirements and wall coverage ⚙️

ParameterTypeDefaultRules
inputListarray of stringsRequiredAt least one VK community screen name
pagesPerCommunityinteger1Minimum 1; no fixed upper limit

Screen names must contain 1–64 letters, digits, underscores, or periods. Surrounding whitespace is trimmed. Accepted: vk. Rejected: @vk, https://vk.ru/vk, or a name containing spaces.

The name must resolve to a community rather than a user profile. Groups and public pages can expose different amounts of wall content. Closed or restricted communities may return limited public data or fail.

Wall pages use offsets that advance by 10. Collection continues while a page contains posts, within the requested page budget and any reported wall total. An empty page ends that wall's pagination. A page containing only previously seen posts adds no duplicates but can still lead to another request.

An empty wall before any posts have been collected produces a failed row. An empty page after successful collection adds no failure. Page budgets do not guarantee exactly 10 saved posts per page or a complete historical archive.

VK community post use cases 🎯

Community content research

Collect public announcements, campaign posts, and media references from a defined list of groups or brand pages.

Brand-content comparisons

Compare post formats, publication dates, and public engagement while retaining member counts and source-community identity.

Repeated post collection

Schedule runs and compare composite post IDs in your database to identify newly observed community posts.

Discussion follow-up

Select relevant post URLs from the wall results and collect their public comments with Post Comments Scraper.

Pricing and billable post rows 💰

Check the Actor's Pricing tab for the current charging model and rate.

Under dataset-item pricing, each saved post or failed row can count as a result. An unavailable community, an empty wall, or a page that remains unavailable after retries can produce a failed row. Automatic retries do not independently create additional rows.

Source-community details, attachments, and repost history remain in each post row. Increasing pagesPerCommunity can increase the number collected, but it sets a page budget rather than an exact result count.

VK community posts API and integrations 🔌

Use the ID shown in the Actor's API tab for $ACTOR_ID and your Apify token for $APIFY_TOKEN:

curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputList":["vk"],"pagesPerCommunity":2}'

Call the Actor through REST, Apify client libraries, schedules, or webhooks. Send its default dataset to a spreadsheet, Make, Zapier, a content database, or your own reporting workflow. Composite post IDs are useful for comparing repeated runs.

Reliability and public wall limits ⚠️

The Actor processes up to five requests concurrently and retries temporary request failures. An invalid screen name, wrong target type, or unavailable page produces a failed row while other communities continue.

A later-page failure leaves previously saved posts in the dataset and adds a failed row for the same input. Duplicate suppression applies within a wall's pagination; repeated runs need their own ID-based comparison.

VK may restrict wall history, omit counts or attachments, and change public page layouts. Supplied repost history is included to a maximum of three levels; original source posts are not separately crawled. Media URLs may expire, and the Actor does not download binary files.

Frequently asked questions ❓

Enter plain community screen names. For https://vk.ru/vk, submit vk.

Will two pages always produce 20 posts?

No. Wall offsets advance by 10, but short responses, duplicates, restrictions, and the end of available content can reduce the number saved.

Are community details a separate result?

No. The source community's public details are included on every post row, so the exported post keeps its account context.

Does it collect all historical wall posts?

It collects the pages available within your budget. Public restrictions, source totals, and empty pages can end collection before a complete history is available.

Does it return comments or download media?

It returns the available comment count and media references. Use Post Comments Scraper for individual comments; binary media files are not downloaded.

What happens when a wall is empty?

If no posts have been collected, an empty wall produces a failed row. An empty page after successful collection simply ends pagination.

For a reproducible issue, share the run ID, a public community screen name, the page budget, and the expected behavior through the Actor's support channel.

Use public wall content in accordance with applicable privacy, copyright, contractual, and platform requirements.