Skip to main content
This guide will help you make your first API requests to OutX and get familiar with the core workflows.

Prerequisites

Before you begin, make sure you have:
1

API Key

Get your API key from mentions.outx.ai/api-doc
2

Base URL

All requests go to: https://api.outx.ai

Your First Watchlist

Let’s create a keyword watchlist to track LinkedIn posts about AI and machine learning.

Step 1: Create a Keyword Watchlist

curl -X POST \
  "https://api.outx.ai/api-keyword-watchlist" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "name": "AI & ML Trends",
    "keywords": [
      "artificial intelligence",
      {
        "keyword": "machine learning",
        "required_keywords": ["python", "tensorflow"],
        "exclude_keywords": ["beginner", "tutorial"]
      }
    ],
    "fetchFreqInHours": 12
  }'
Response:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "AI & ML Trends",
  "slug": "ai-ml-trends-550e8400",
  "type": "keyword",
  "keywords": ["artificial intelligence", "machine learning"],
  "fetchFreqInHours": 12,
  "created": true
}
Save the id from the response - you’ll need it to retrieve posts from this watchlist!

Step 2: Retrieve Posts from Your Watchlist

Now let’s fetch posts from the watchlist we just created:
curl -X GET \
  "https://api.outx.ai/api-posts?watchlist_id=550e8400-e29b-41d4-a716-446655440000&page=1" \
  -H "x-api-key: YOUR_API_KEY"
Response:
{
  "data": [
    {
      "id": "post-123",
      "content": "Exciting developments in machine learning with Python and TensorFlow...",
      "author_name": "John Doe",
      "author_url": "https://linkedin.com/in/johndoe",
      "linkedin_post_url": "https://linkedin.com/feed/update/...",
      "posted_at": "2024-01-15T10:30:00Z",
      "likes_count": 245,
      "comments_count": 32,
      "liked": false,
      "commented": false
    }
  ],
  "count": 156
}

Step 3: Engage with a Post

Let’s like one of the posts we retrieved:
curl -X POST \
  "https://api.outx.ai/api-like" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "post_id": "post-123",
    "user_email": "your.email@example.com",
    "actor_type": "user"
  }'
Response:
{
  "success": true,
  "message": "Like task created successfully",
  "task_id": "task-456"
}

Advanced Filtering Examples

Filter by Date Range

Use start_date and end_date params in YYYY-MM-DD format:
curl -X GET \
  "https://api.outx.ai/api-posts?watchlist_id=YOUR_ID&start_date=2026-02-01&end_date=2026-02-28" \
  -H "x-api-key: YOUR_API_KEY"
Dates should be in YYYY-MM-DD format (e.g., 2026-02-15). End dates are inclusive - end_date=2026-02-28 includes the full day of Feb 28.

Filter by Seniority Level

Filter posts by the author’s seniority. You can pass multiple values as comma-separated:
# Single seniority
curl -X GET \
  "https://api.outx.ai/api-posts?watchlist_id=YOUR_ID&seniority_level=VP" \
  -H "x-api-key: YOUR_API_KEY"

# Multiple seniority levels
curl -X GET \
  "https://api.outx.ai/api-posts?watchlist_id=YOUR_ID&seniority_level=VP,Director,CXO" \
  -H "x-api-key: YOUR_API_KEY"

Pagination

Use range_from and range_to params (0-indexed). Default page size is 20:
# First 20 posts (default)
curl -X GET \
  "https://api.outx.ai/api-posts?watchlist_id=YOUR_ID" \
  -H "x-api-key: YOUR_API_KEY"

# Posts 21-40
curl -X GET \
  "https://api.outx.ai/api-posts?watchlist_id=YOUR_ID&range_from=20&range_to=39" \
  -H "x-api-key: YOUR_API_KEY"

Sort by Engagement

curl -X GET \
  "https://api.outx.ai/api-posts?watchlist_id=YOUR_ID&sort_by=popular_first" \
  -H "x-api-key: YOUR_API_KEY"
Sort options: recent (default), popular_first (by engagement), engagement (alias for popular_first).

Common Workflows

Create a people watchlist to monitor posts from key industry leaders:
curl -X POST \
  "https://api.outx.ai/api-people-watchlist" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "name": "Tech Leaders",
    "profiles": [
      "https://linkedin.com/in/satyanadella",
      "https://linkedin.com/in/sundarpichai",
      "elon-musk"
    ]
  }'
Track posts from competitor company pages:
curl -X POST \
  "https://api.outx.ai/api-company-watchlist" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "name": "Competitors",
    "companies": [
      "https://linkedin.com/company/openai",
      "https://linkedin.com/company/anthropic",
      "google-deepmind"
    ]
  }'
Retrieve trending posts with high engagement:
curl -X GET \
  "https://api.outx.ai/api-posts?watchlist_id=YOUR_ID&trending=true&sort_by=engagement" \
  -H "x-api-key: YOUR_API_KEY"
Like posts on behalf of your company page:
curl -X POST \
  "https://api.outx.ai/api-like" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "post_id": "post-123",
    "user_email": "admin@company.com",
    "actor_type": "company",
    "company_title": "Your Company Name"
  }'

Next Steps

Keyword Watchlist API

Learn about advanced keyword filtering

Posts API

Explore all post filtering options

Like API

Automate post likes

Comment API

Add comments programmatically

Need Help?

Have questions or need assistance? Contact us at support@outx.ai

AI Agent Prompt

Use the following instructions when building an AI agent that integrates with the OutX Watchlists & Engagement API.

Prerequisites

  • API key stored in OUTX_API_KEY environment variable
  • OutX Chrome extension installed and active on at least one team member’s browser

Quick Reference

ActionMethodEndpointKey Params
Create keyword watchlistPOST/api-keyword-watchlistkeywords (required), name, fetchFreqInHours
Create people watchlistPOST/api-people-watchlistprofiles (required), name
Create company watchlistPOST/api-company-watchlistcompanies (required), name
Retrieve postsGET/api-postswatchlist_id, page, sort_by, start_date, end_date
Like a postPOST/api-likepost_id (required), user_email (required)
Comment on a postPOST/api-commentpost_id (required), user_email (required), comment_text (required)

Guardrails — ALWAYS DO

  1. Use x-api-key header for authentication
  2. Use base URL https://api.outx.ai
  3. Use ISO 8601 dates (YYYY-MM-DD) for start_date and end_date
  4. Use post_id from the /api-posts response when calling /api-like or /api-comment
  5. Handle 429 rate limit errors with exponential backoff

Guardrails — NEVER DO

  1. Never hardcode API keys in source code
  2. Never use fetchFreqInHours values other than 1, 3, 6, 12, 24, 48, 72
  3. Never call /api-like or /api-comment without a valid post_id and user_email
  4. Never assume posts appear instantly — new watchlists populate on the next fetch cycle
For the full OutX API skill file, see outx-skill.md.

Frequently Asked Questions

It depends on the fetch frequency you set (fetchFreqInHours). After creating a watchlist, OutX begins scanning LinkedIn on the next fetch cycle. For example, if you set fetchFreqInHours to 6, you can expect the first results within 6 hours. You can set it as low as 1 hour for faster initial results.
Use the YYYY-MM-DD format (ISO 8601 date format). For example, 2026-02-15. End dates are inclusive — setting end_date=2026-02-28 includes all posts from the full day of February 28.
No. The OutX Chrome extension is required for all API functionality. At least one team member must have the extension installed and active within the last 48 hours. OutX retrieves LinkedIn data through the browser extension rather than using unofficial scraping methods, so the extension is essential for the API to work.

Learn More