Signup comes with $1 in credit. No subscription needed.Claim your $1

Tools / LinkedIn / API

Scrape LinkedIn from a Python script with a single POST request

Skip Selenium, cookies and proxy pools. From Python, send one POST with requests to the RouterGrowth run endpoint with the capability social.search, platform linkedin and your keyword, then read the posts from the JSON result: text, author, date, likes and comments. The script holds an API key, nothing else.

Real run: 6 records $0.0035 per post social.search MCP · REST · CLI

Ask your agent

Write a Python script that searches LinkedIn for three keywords every morning and appends new posts to a CSV.

Connect RouterGrowth once, then ask in plain words. New workspaces start with $1 of credit. Get a key or read the setup guide.

A real run

What does it return?

One call to social.search (social post search), run through RouterGrowth on October 19, 2026. These are the first rows it returned; fields that name a person are masked.

6records returned
4.5 sto answer
$0.021088charged for the run
textauthorcreated_atlikesreplies
Most cold email deliverability problems are not copywriting problems. They are infrastructure problems. Your DNS configuration sends signal…Ma***2026-10-072021
In 2026, deliverability has been tougher than ever. What's your average reply rate on cold email right now?An***2026-10-0165
Most cold email has an offer problem. Not a personalization problem. If the offer is good enough, you don’t need a brand. You don’t need to…Jo***2026-10-155323

Six public LinkedIn posts for "cold email deliverability" from the past three weeks, each with likes and a comment count.

Step by step

How do you do it?

  1. Store the key

    Put your RouterGrowth key in an environment variable such as ROUTERGROWTH_API_KEY and send it as a Bearer token.

  2. POST the run

    Send capability social.search with input platform, query and limit to https://api.routergrowth.com/v1/run, with a max_cost in routing.

  3. Read result.posts

    The response JSON holds the run id, the billing block and result.posts, a list of dicts ready for a loop.

  4. Write the file

    Use the csv module or pandas to save text, author, created_at and the engagement counts.

Price

What does it cost?

List prices on LinkedIn, read from the catalog when this page was built. The exact figure is quoted before every run, and a monthly plan lowers it.

$0.0035per post
$0.000088per call, on top of the posts
$0when the call finds nothing

In practice

What do you ask it?

You describe the job; the agent picks the calls, shows the price and runs them.

Write a Python script that searches LinkedIn for three keywords every morning and appends new posts to a CSV.

Search LinkedIn for 'cold email deliverability' and pull the comments under the post with the most replies.

Connect

How do you connect it?

One MCP server for Claude, ChatGPT, Claude Code, Codex and Cursor, or the same call over the CLI and REST with the input above.

MCP server
claude mcp add --transport http routergrowth https://api.routergrowth.com/mcp
CLI
npm install -g routergrowth && routergrowth setup
routergrowth run -c social.search -i '{"platform": "linkedin", "query": "cold email deliverability", "limit": 6}'
REST
curl -X POST https://api.routergrowth.com/v1/run \
  -H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
  -d '{"capability": "social.search", "input": {"platform": "linkedin", "query": "cold email deliverability", "limit": 6}}'

Worth knowing

What should you know first?

No browser in your script

The script makes an HTTP call and parses JSON. No driver, headless Chrome or proxy settings to keep in sync.

Wait or poll

A run can return when it finishes, or hand back a run id to poll at /v1/runs/<id> while your script does other work.

Same key everywhere

The key in your script is the key the CLI and the MCP server use, and every run lands in one history.

FAQ

Questions about scrape linkedin python

Do I need Selenium or Playwright?

No. A plain HTTP client such as requests or httpx is enough; the scraping happens on RouterGrowth's providers.

How does the script authenticate?

With an Authorization header holding Bearer and your RouterGrowth API key.

What comes back in the JSON?

A run record: run_id, status, billing with the quote and the charge, timing, and result.posts with one dict per post.

Can it run on a schedule?

Yes. Cron, a GitHub Action or any job runner can call the endpoint; each call is billed per post returned.

More on LinkedIn

Related pages

Reading this as an agent? This page as markdown: /tools/linkedin/scrape-python.md

One key. Every network.

Connect your agent once. The first calls run on the $1 that comes with signup.