Skip to main content
The Fetch Company Posts endpoint creates an async task to retrieve recent posts from a LinkedIn company page. You provide a company slug and receive a task ID to poll for the list of posts with engagement data.

Endpoint

POST https://api.outx.ai/linkedin-agent/fetch-company-posts

Request Body

company_slug
string
required
The LinkedIn company slug (e.g., "microsoft" from linkedin.com/company/microsoft)
The company_slug is the last segment of a LinkedIn company URL. For https://www.linkedin.com/company/openai, the slug is openai.

Response

The endpoint returns immediately with a task ID. The actual posts are fetched asynchronously.
success
boolean
Whether the task was created successfully
api_agent_task_id
string
UUID to poll for results via Get Task Status
message
string
Human-readable confirmation
{
  "success": true,
  "api_agent_task_id": "550e8400-e29b-41d4-a716-446655440000",
  "message": "Company posts tracking task created successfully"
}

Polling for Results

After creating the task, poll the Get Task Status endpoint until the status is completed:
GET https://api.outx.ai/linkedin-agent/get-task-status?api_agent_task_id=550e8400-e29b-41d4-a716-446655440000

Completed Response

When the task finishes, task_output contains the cleaned list of posts and a total count:
{
  "success": true,
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "completed",
    "task_input": {
      "task_type": "agent_company_tracking",
      "company_slug": "openai"
    },
    "task_output": {
      "posts": [
        {
          "entityUrn": "urn:li:activity:7234567890123456789",
          "linkedin_post_urn": "7234567890123456789",
          "social_urn": "urn:li:activity:7234567890123456789",
          "post_url": "openai_7234567890123456789",
          "poster": {
            "poster_name": "OpenAI",
            "url": "openai",
            "poster_urn": "openai",
            "type": "company",
            "headline": "AI Research and Deployment",
            "image_url": "https://media.licdn.com/dms/image/..."
          },
          "author_type": "company",
          "post_type": "company",
          "content": "We're excited to share our latest research on reasoning models...",
          "video_urls": null,
          "image_urls": ["https://media.licdn.com/dms/image/..."],
          "reactions": {
            "likes": 4823,
            "impressions": null,
            "comments": 312,
            "shares": 891
          },
          "created_at": "3d",
          "posted_at": "2026-03-10T14:00:00.000Z"
        }
      ],
      "total": 15
    }
  }
}

Code Examples

# Create the task
curl -X POST \
  "https://api.outx.ai/linkedin-agent/fetch-company-posts" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{"company_slug": "openai"}'

# Poll for results
curl -X GET \
  "https://api.outx.ai/linkedin-agent/get-task-status?api_agent_task_id=TASK_ID" \
  -H "x-api-key: YOUR_API_KEY"

Error Responses

StatusErrorDescription
400Missing or invalid 'company_slug'The company_slug field is missing or not a string
401Missing API Key / Invalid API KeyAPI key is missing or invalid
403Plugin installation required...No team member has an active Chrome extension. See Authentication

FAQ

Each cleaned post includes: entityUrn and linkedin_post_urn (post identifiers), social_urn (the activity URN to use with like/comment endpoints), post_url (slug portion of the share URL), poster (company info with name, slug, type, headline, and image URL), content (post text), image_urls (array of image URLs or null), video_urls (array of video URLs or null), reactions (likes, comments, shares, impressions), created_at (relative time like "3d"), and posted_at (ISO timestamp).
The endpoint fetches up to 50 posts from the company’s LinkedIn feed in one call. The response includes a total field with the actual count of posts returned. The exact number depends on the company’s recent activity.
This endpoint returns a one-time snapshot of a company’s recent posts. The Company Watchlist in the Intelligence API continuously monitors a company and delivers new posts in real time as they are published, without requiring you to poll manually.
Yes. Each post in the response includes a social_urn field (e.g., "urn:li:activity:7234567890123456789"). You can pass this directly to the Like Post or Comment on Post endpoints as the social_urn parameter.
Most company post fetch tasks complete within seconds to a couple of minutes, depending on when the Chrome extension picks up the task. We recommend polling every 5 seconds with a timeout of 2-3 minutes.

Learn More