Track what competitors post on their LinkedIn company pages
Read recent posts from company LinkedIn pages with engagement counts, to see what competitors announce and which topics earn reactions.
A competitor's LinkedIn page is a running log of launches, hires, customer wins and campaigns, and a free read on which of those their audience cares about. Nobody scrolls five pages every week. Lovely Router does it for you. Send company page URLs, get one JSON object per post, pay per post from a prepaid balance. Run it weekly from a script or an AI agent and you have a feed of your market.
Hand it to your AI agent
Copy this prompt into Claude Code, Cursor, Codex or any coding agent. It tells the agent where the docs are and how to use your API key.
Track what competitors post on their LinkedIn company pages. Use the Lovely Router data tools: each returns JSON and is billed per result.
- Docs (read first): https://lovelyrouter.com/docs/tools/find.md and https://lovelyrouter.com/docs/tools/run.md
- Plan first: POST https://lovelyrouter.com/v1/tools/suggest with `{"task": "<my task in plain words>"}` (free). It returns the tools to run in order, each with an example `input`, the `input_required` fields, an estimated cost and a ready-made `run` request. Replace the example values with my task's; if a field is unclear, read the tool with GET https://lovelyrouter.com/v1/tools/<id>. To browse instead, POST https://lovelyrouter.com/v1/tools/discover searches the catalog.
- Show me the plan and its estimated cost (`total_est_cost_usd`) before running anything large.
- Run: POST https://lovelyrouter.com/v1/tools/<id>/run with `{"input": {...}, "max_results": N}`. A 200 has the finished run with `items`; a 202 means it is still running, so poll the `poll` path until `status` is `succeeded`, `failed`, `timed_out` or `stopped`.
- Only delivered results are billed. Keep max_results small on the first run, check the output, then scale up.
- If you support MCP, connect https://lovelyrouter.com/mcp instead (Streamable HTTP, same key; https://lovelyrouter.com/docs/tools/mcp.md) and use suggest_tools, get_tool and run_tool.
- Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `Authorization: Bearer $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys.
- Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large.
- Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt.
My task: <the inputs (links, keywords or accounts) and how many results you need>How it works
List the pages
Take the LinkedIn page of each competitor, partner or account you follow.
Run the tool with a cap
Send the URLs in
targetUrlstoPOST /v1/tools/linkedin-company-posts/run.maxPostscaps the posts per page,postedLimitlimits how old they can be, andmax_resultscaps the run.Compare engagement
Rank posts by their engagement counts and read the top ones. Save each run so you can watch topics rise and fade.
Get recent company posts with one request
Get LinkedIn company posts takes company page URLs in targetUrls. maxPosts is the cap per page, and one run returns up to 200 posts. postedLimit accepts any, 1h, 24h, week, month, 3months, 6months or year, which makes a weekly job simple:
curl https://lovelyrouter.com/v1/tools/linkedin-company-posts/run \
-H "Authorization: Bearer $LOVELY_API_KEY" \
-H "content-type: application/json" \
-d '{
"input": {
"targetUrls": [
"https://www.linkedin.com/company/nvidia/"
],
"maxPosts": 10,
"postedLimit": "week"
},
"max_results": 30
}'Comments and reactions are not collected in this tool; you get the posts and their counts. A run still going after 60 seconds returns 202; Run a tool shows how to poll.
What each post holds
| Field group | What you get |
|---|---|
| Post | The text of the company update |
| Engagement | The engagement counts shown on the post |
For posts from a person's own profile, such as a founder, use linkedin-posts.
Recipes
Set postedLimit to week and run five competitor pages. Ask a model to summarize announcements by theme and send it to your team on Monday.
Pull the last 100 posts of a page, sort by engagement, and look at what the top 10 have in common: format, topic, length.
Run the page of a competitor every day with postedLimit set to 24h before a known event, and alert on new product words.
Follow the page of an account in your pipeline; a post about a new office or a hire gives you a reason to write.
Add your company page to the list and compare your engagement to the field.
Prefer plain words? Connect the MCP server and tell Claude Code or Cursor: "Fetch posts from the last month from these four competitor LinkedIn pages with linkedin-company-posts, maxPosts 25 each, and tell me the five most engaged posts and what they have in common. Set max_results to 100."
Pair it with other competitor signals
Posts are what a company says for free. Put them next to the rest:
Recent posts from LinkedIn company pages with engagement counts.
Ads from the LinkedIn Ad Library for an advertiser or keyword search URL: copy, format, dates.
LinkedIn company pages: description, industry, size, headquarters, website, followers.
LinkedIn job postings for a title/skill and location (or a jobs search URL): title, company, location, salary, posted date, applicants, description.
Recent posts from LinkedIn profiles or company pages, with engagement counts.
linkedin-adsshows what the same company pays to promote.linkedin-companygives size and followers, so you can compare engagement to audience.linkedin-jobsshows which teams that company is hiring for.linkedin-postscovers executives' own profiles.
For tracking your market across platforms, see social listening.
What you pay
You pay per post: starting a run holds its maximum cost, the per-call fee plus the per-post fee times max_results, and the run settles to what it returned. The rest of the hold goes back to your balance. A run that fails or times out pays only for the posts it delivered, and a run refused at the start costs nothing.
Pulling 100 posts a week is billed as 100 posts a week. There is no subscription and no monthly minimum: top up from $5, and one balance pays for tools and models. The card above shows today's price; pricing lists every tool.
Frequently asked questions
How far back can I read?+
Use postedLimit to cap age (24h, week, month and so on up to year), or leave it at any. maxPosts caps how many come back per page.
Does it return comments?+
No. This tool returns the posts with their engagement counts, not the comment text.
How many posts can one run return?+
Up to 200 posts per run.
Can I read a person's posts here too?+
The input accepts profile URLs as well, but linkedin-posts is the tool built for people.
Do I need a subscription?+
No. You add credit to a prepaid balance and each run draws it down. Failed runs pay only for the results they delivered, and nothing renews automatically.
Watching your whole market? See social listening, and the rest of the tool catalog. Run settings are in Run a tool.