
Instagram Reel Scraper
scrape.ly/store/echofield/instagram-reel-scraperSocial mediaVideos
1 monthly user

Collect public LinkedIn posts from a post link, a person profile, or a company page. No account and no cookies.
Collect public LinkedIn posts from company pages, personal profiles, or single post links: text, author, reactions, comments, and publish time. No login, no cookies, no LinkedIn account at risk. $0.001 per post, which is $1 per 1,000.
| Field | Key | Description |
|---|---|---|
| LinkedIn URLs | urls | Post links, profile URLs, or company page URLs. |
| Posts per URL | limitPerSource | At least 1. Public company and profile pages usually show about 10. Default 10. |
| Only posts after | scrapeUntil | Skip posts older than this date. |
| Proxy configuration | proxyConfiguration | Datacenter by default. Use residential only if LinkedIn refuses datacenter. |
{
"urls": [
"https://www.linkedin.com/company/microsoft",
"https://www.linkedin.com/in/satyanadella"
],
"limitPerSource": 10,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": ["DATACENTER"]
}
}
One row per post.
| Field | Description |
|---|---|
url, urn | Post link and LinkedIn id |
text | Post text |
postedAtISO, postedAtTimestamp, timeSincePosted | Publish time and relative age |
numLikes, numComments | Reaction and comment counts |
authorName, authorProfileUrl, authorType | Who wrote it (Person or Company) |
authorFollowersCount | Author followers, when shown |
images | Image URLs in the post |
comments | Up to 10 embedded comments with text, time, and author |
inputUrl | The input URL that produced the post |
Example item (trimmed):
{
"urn": "urn:li:activity:7514395953961881600",
"url": "https://www.linkedin.com/posts/microsoft_activity-7514395953961881600-h6eR",
"inputUrl": "https://www.linkedin.com/company/microsoft",
"text": "Introducing Microsoft-Decision-1, our new model for fast decision-making. ...",
"timeSincePosted": "4d",
"postedAtISO": "2026-10-09T18:46:46.143Z",
"numLikes": 9272,
"numComments": 401,
"authorName": "Satya Nadella",
"authorProfileUrl": "https://www.linkedin.com/in/satyanadella",
"authorType": "Person",
"comments": [
{
"text": "Satya, how do you share deep, technical industry expertise without making your posts too boring ...",
"postedAtISO": "2026-10-09T19:08:43.654Z",
"authorName": null
}
]
}
$0.001 per post ($1 per 1,000 posts). Platform usage is billed on top at standard rates (compute $0.30 per GB-hour, datacenter proxy $1 per GB).
Worked example: a company feed of 10 posts costs 10 × $0.001 = $0.01 in post fees. With platform usage, our measured cost for that job was about $0.013.
The actor reads only public pages that LinkedIn shows without logging in. You are responsible for following LinkedIn's terms and privacy laws such as GDPR.
No. There is no login at all.
As many as the public page shows. Public company and profile pages usually show about 10, so expect around that.
Share counts, impressions, and member ids are not on the public page, so those fields are null.
Yes. Use Schedules for regular runs, or start the actor over the REST API and read the dataset in JSON, CSV, or Excel.
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.
urlsarrayRequiredLinkedIn URLs
A post link, a person profile, or a company page. One URL per line. Keyword search is not available on the public site.
limitPerSourceintegerOptionaldefault 10Posts per URL
How many posts to save from each URL. Public company and profile pages usually show about 10.
scrapeUntilstringOptionalOnly posts after
Skip posts older than this date. Leave empty to keep the posts the page shows.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies are the default. Use residential only when LinkedIn refuses the datacenter pool.
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 |
|---|---|---|
| url | string | null | Public URL of the post. |
| text | string | null | Post text. |
| authorName | string | null | Name of the person or company that wrote the post. |
| authorProfileUrl | string | null | Profile or company page of the author. |
| authorType | string | null | Person or Company. |
| postedAtISO | string | null | Publish time in UTC, when the public page includes it. |
| timeSincePosted | string | null | Relative age shown on the page, such as 1d or 2w. |
| numLikes | integer | null | Reaction count. |
| numComments | integer | null | Comment count. |
| numShares | integer | null | Repost count, when the public page shows it. |
| authorFollowersCount | string | null | Follower count of the author, when the public page shows it. |
| inputUrl | string | null | URL from the input that produced this 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 |
|---|---|---|
| Post | One public LinkedIn post saved to the dataset. | $0.001 |
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/linkedin-post-scraper').call({
"urls": [
"https://www.linkedin.com/company/microsoft"
],
"limitPerSource": 10,
"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/linkedin-post-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/linkedin-post-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.
Latest posts from a LinkedIn company page.
Latest posts from a personal profile.
Company posts newer than a cutoff date.
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.