Feeds, caching, and refresh
A feed is one connected public LinkedIn company, showcase, or school page. You can use it across multiple applications without creating duplicate connections.
Automatic refresh
Active feeds with paid subscriptions are scheduled every three hours. Collection is asynchronous and depends on the source remaining publicly accessible. The interval is a scheduling target, not a real-time delivery guarantee.
Several customers connecting the same LinkedIn page share the underlying collection work. Your account permissions and key scopes remain separate.
Cached reads
The API serves stored, visible posts and caches response pages for five minutes. A normal read does not synchronously scrape LinkedIn. Successful refreshes, imports, and visibility changes invalidate content caches.
Account authorization is checked before cached content is returned. Redis also enforces shared account limits. If Redis is unavailable, protected requests return a recoverable 503; they do not bypass authorization or limits.
Request a manual refresh
Use a secret key:
curl -X POST "https://api.profeedwp.com/api/headless-profeed/v1/feeds/YOUR_FEED_ID/refresh" \
-H "Authorization: Bearer YOUR_SECRET_KEY"
{
"success": true,
"job_id": "REFRESH_JOB_ID",
"status": "queued",
"retry_after_seconds": 5
}
A manual refresh is available once every 15 minutes per LinkedIn source, shared across accounts. Repeated requests while a job is queued or running return the pending job. A cooldown rejection uses 429 REFRESH_COOLDOWN.
Check progress
GET /feeds/YOUR_FEED_ID/status returns the current refresh status, last successful collection time, next scheduled refresh, and whether the content is stale. Status is cached for five seconds.
Available content continues to return 200 during refreshes or upstream failures. Check refresh.stale and refresh.last_success_at to decide how to present its age. Failed first loads use 503 FEED_UNAVAILABLE rather than pretending the collection succeeded.
Paused feeds and plan changes
Plans allow 1, 5, or 25 active feeds. You can pause a connection and enable another within your allowance. A downgrade pauses the newest excess connections. Expired subscriptions pause feeds; previous data is retained, but API reads are blocked.