
Congress Stock Trades Scraper
scrape.ly/store/querystone/congress-trades-scraperNewsBusiness
3 monthly users

Scrape public VK (VKontakte) walls of communities and profiles: post text, date, likes, reposts, views, comment counts, photos, videos, links and polls, plus optional comments and community or profile info. No login needed.
Scrape public VK (VKontakte) walls in seconds: every post from any community, public page or open profile with text, date, likes, reposts, views, comment counts, photos, videos, links and polls, plus optional comments and the community or profile info. No VK account, no login, no cookies.
kinopoisk, https://vk.com/rbc, club1, https://vk.com/wall-1_400458).| Field | What it does |
|---|---|
targets | Handles, profile/community URLs (vk.com, m.vk.com, vk.ru), ids (id1, club1, public123, -1) or post URLs |
maxItems | Max posts for the whole run, split evenly across the walls (newest first from each; walls with fewer posts leave their share to the others), default 20 |
maxItemsPerTarget | Optional cap per wall |
searchQuery | Only posts containing this text |
publishedAfter / publishedBefore | Date window (YYYY-MM-DD or 7 days) |
wallFilter | All posts, only the owner's, or only posts by others |
includeComments, maxCommentsPerPost, commentsSort | Comment scraping options |
language | Language for names of people, cities and countries (ru keeps original names) |
{
"targets": ["kinopoisk", "https://vk.com/rbc"],
"maxItems": 100,
"publishedAfter": "7 days",
"includeComments": true,
"maxCommentsPerPost": 50
}
One row per post. With comments enabled, each row also has a comments list and commentsScraped.
| Field | Description |
|---|---|
postId, url | Post id (owner_post) and link |
target | The input this post came from |
ownerId, ownerName, owner | Wall owner and its details (type, followers, description, site, city, verified) |
postedAt, timestamp, editedAt | Publish and edit time (UTC) |
text, hashtags | Full post text and hashtags |
likes, reposts, views, commentsCount | Engagement counters |
author, signer | Who posted it (name, link, avatar, verified) |
images, videos, links, audios, documents, poll | Attachments (largest photo URLs, video links with title/duration/views, link previews and links written in the post text, poll answers and votes) |
isPinned, isAd, isRepost, repostOf | Flags and the original post for reposts |
comments[] | commentId, threadOfCommentId, author, text, postedAt, likes, repliesCount, images, commentUrl |
Example (trimmed):
{
"postId": "-108468_3571028",
"url": "https://vk.com/wall-108468_3571028",
"target": "kinopoisk",
"ownerId": -108468,
"ownerName": "Кинопоиск",
"postedAt": "2026-10-15T20:01:19.000Z",
"text": "Четвертая «Мумия» с Бренданом Фрейзером и Рэйчел Вайс получила название The Mummy: Book of the Dead...",
"likes": 108,
"reposts": 31,
"views": 13468,
"commentsCount": 3,
"isPinned": false,
"isRepost": false,
"author": { "id": -108468, "type": "community", "name": "Кинопоиск", "url": "https://vk.com/kinopoisk", "verified": false },
"images": ["https://sun9-51.vkuserphoto.ru/s/v1/ig2/Bk4QW...jpg"],
"attachmentTypes": ["photo"],
"owner": { "type": "public page", "name": "Кинопоиск", "screenName": "kinopoisk", "followersCount": 1995266, "activity": "Интернет-СМИ", "site": "https://www.kinopoisk.ru/" },
"comments": [
{
"commentId": "3571090",
"threadOfCommentId": null,
"author": { "id": 123456, "type": "user", "name": "Ivan Petrov", "url": "https://vk.com/id123456" },
"text": "Ждём!",
"postedAt": "2026-10-15T20:14:02.000Z",
"likes": 4,
"repliesCount": 0,
"commentUrl": "https://vk.com/wall-108468_3571028?reply=3571090"
}
],
"commentsScraped": 1,
"scrapedAt": "2026-10-16T02:30:00.465Z"
}
Is it legal to scrape VK? The actor only reads data VK shows publicly to logged-out visitors. You are responsible for how you use it, including personal data rules such as GDPR and local law.
Do I need a VK account, token or proxy? No account or token. Datacenter proxies are used by default and work well.
How many posts can I get? Whole walls: VK serves the full public history of a wall, page by page. A keyword filter scans the whole wall after VK's own search results.
Why are some fields empty? VK hides some counters on some posts (for example views on very old posts) and closes comments on some walls. Private profiles and closed communities return nothing, and the run's status message says so.
Can I schedule it or use the API? Yes. Schedule runs with "Published after: 1 day" to collect only new posts, and fetch results over the API in JSON, CSV or Excel.
Can I search all of VK by keyword? No. VK allows site-wide search only for logged-in accounts. The keyword filter works inside the walls you list.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
targetsarrayOptionalVK profiles, communities or post URLs
Handles (durov, kinopoisk), profile or community URLs (https://vk.com/rbc, m.vk.com and vk.ru work too), ids (id1, club1, public123, -1) or single post URLs (https://vk.com/wall-1_400458). Mix them freely.
maxItemsintegerOptionaldefault 20Max posts
Maximum number of posts to save across the whole run, split evenly across the walls you listed (newest first from each). A wall with fewer posts leaves its share to the others. 0 means no limit.
maxItemsPerTargetintegerOptionalMax posts per wall
Optional cap on posts from each profile or community. Leave empty to let the total limit decide.
searchQuerystringOptionalKeyword filter
Only save posts that contain this text (searched inside the walls you listed, using VK's own wall search first, then a scan of up to 20,000 newer posts per wall). Leave empty to save every post.
publishedAfterstringOptionalPublished after
Only posts published on or after this date (YYYY-MM-DD, or relative like '7 days'). Paging stops as soon as older posts are reached.
publishedBeforestringOptionalPublished before
Only posts published on or before this date. The scraper jumps straight to that point of the wall, so old date windows are fast.
wallFilterenumOptionaldefault "all"Whose posts
Which posts of each wall to keep.
includePinnedbooleanOptionaldefault trueInclude pinned post
Keep the wall's pinned post (it is marked with isPinned).
includeCommentsbooleanOptionaldefault falseScrape comments
Also save each post's comments (author, text, date, likes, replies up to 10 per thread) inline on the post row. Billed per comment.
maxCommentsPerPostintegerOptionalMax comments per post
Cap on comments (including replies) saved per post. Leave empty or 0 for all comments VK shows logged-out visitors, up to 10,000. Comments are saved inside the post's row, which is held in memory until it is saved.
commentsSortenumOptionaldefault "oldest"Comment order
Which comments come first when the per-post cap cuts the list.
languageenumOptionaldefault "ru"Language
Language VK uses for names of people, cities and countries. Post and comment text is never translated.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy
Datacenter proxies work well for VK. Switch to residential only if you see repeated blocks.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| postedAt | any | Posted |
| ownerName | any | Wall |
| text | any | Text |
| likes | any | Likes |
| reposts | any | Reposts |
| views | any | Views |
| commentsCount | any | Comments |
| attachmentTypes | any | Attachments |
| isRepost | any | Repost |
| url | any | Post |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| VK comment | One comment saved inline on its post (author, text, date, likes). Only when comment scraping is on. | $0.0016 |
| VK post | One public VK post saved with text, date, engagement, media, author and wall owner info. | $0.003 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('echofield/vk-scraper').call({
"targets": [
"kinopoisk",
"rbc"
],
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run echofield/vk-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=echofield/vk-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Wall posts from VK communities with up to 5 comments each.
Community wall posts matching a keyword.
Only posts written by the community owners.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.