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

Need Help?

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

Frequently Asked Questions

Q: How long does it take for a new watchlist to start showing posts? 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.
Q: What date format should I use for start_date and end_date? 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.
Q: Can I use the API without the Chrome extension? 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.