Feeds

Blog ·

How to receive new LinkedIn company posts by webhook

LinkedIn does not offer webhooks for new posts of pages you do not manage. With Feeds you can get one HTTPS request per new post, from any public company page, in about ten minutes.

1. Track the page

Use the page’s URL or company/<slug>. A 6-hour cadence is a good start for most companies:

curl -X POST https://usefeeds.com/v1/trackers \
  -H "Authorization: Bearer $FEEDS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sourceType":"linkedin","handle":"https://www.linkedin.com/company/example","cadenceMinutes":360}'

2. Register your endpoint

curl -X POST https://usefeeds.com/v1/webhooks \
  -H "Authorization: Bearer $FEEDS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/hooks/feeds"}'

Save the secret in the response; it is shown once.

3. Verify and handle the event

Every new post arrives as item.created. Check the feeds-signature header against the raw body before you parse it. The webhooks guide has the code for Node.js, Python, and Go. Answer 200 quickly and do your work afterwards; failed deliveries are retried for about a day.

4. Test it

POST /v1/webhooks/{id}/ping sends a ping event, so you can test the endpoint and the signature check before the page posts again.

What it costs

A LinkedIn check costs 20 credits and each new post 2. Checks slow down while the page is quiet, so a page that posts twice a week costs much less than the maximum the console shows.