Skip to main content
This guide will help you make your first API requests to OutX and get familiar with the core workflows.
This quick start creates a LinkedIn keyword watchlist. Reddit is a separate watchlist type with its own endpoint (/api-reddit-watchlist, same body shape); tracking a topic on “LinkedIn and Reddit” means two create calls. See Choose a watchlist type for the platform comparison.

Prerequisites

Before you begin, make sure you have:
1

A live Chrome extension

At least one team member runs the OutX Chrome extension, signed into LinkedIn, active within the last 48 hours. Without it every call returns 403 Plugin installation required.
2

API Key

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

Base URL

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

Your First Watchlist

Describe what you want to track in one sentence and let OutX write the keywords, the intent labels and the relevance objective. This is prompt mode, and it is the path to use unless you already know your exact match terms. Before you build several watchlists, read Design your watchlists: one watchlist carries one signal, and merging signals is the most common way an agent ends up with a feed nobody can use.

Step 1: Create a Keyword Watchlist

Response:
Save the id. Send an idempotency_key on every create so a retry returns the first watchlist instead of making a second one.

Step 2: Wait for the keywords and labels

The create returns before the generation finishes. Poll the same endpoint with the id until keywords and labels are populated:
A prompt that cannot produce a usable feed is refused with 422 before anything is created, and the body may carry a question to relay to your user. See When a prompt is refused.

Step 3: Retrieve Posts from Your Watchlist

Read the feed filtered to the watchlist’s default labels, which is the view the product opens on. Without labels=default you get every post collected, including the low-intent ones.
Response (abridged, see Get posts for the full post shape):
A brand-new keyword watchlist backfills recent matching posts in the background, and each post’s tags (intent labels) are written asynchronously during enrichment. Empty data or empty tags right after creation means “not processed yet”, not “no matches”. See Intent labels & defaults.

Bring your own keywords

If you already know the exact strings to match, send keywords instead of prompt. Send objective with them: it is the one sentence every collected post is scored against, and it is what makes the feed filterable.
Leave objective or labels out and OutX generates them in the background from your keywords. The response says which it had to write:
That is a guess at what you meant, so supply objective when you can.

Step 3: Engage with a Post

Let’s like one of the posts we retrieved:
Response:

Advanced Filtering Examples

Filter by Date Range

Use start_date and end_date params in YYYY-MM-DD format:
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:

Pagination

Use page (1-indexed) and page_size (default 20). The response’s count field is the total number of matching posts, so pages run out when page * page_size >= count:
The parameter names are page and page_size on every paginated endpoint; aliases like limit, offset, per_page, or pageSize are rejected with a 400. (An offset-based alternative, range_from/range_to, also exists on /api-posts; see Get posts.)

Sort by Engagement

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:
Track posts from competitor company pages:
Retrieve trending posts with high engagement:
Like posts on behalf of your company page:

Next Steps

Choose a Watchlist Type

LinkedIn vs Reddit, and which endpoint creates what

Posts API

Explore all post filtering options

Intent Labels

How posts get classified and what default labels do

Like API

Automate post likes

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

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. Retry 500 and 503 responses with exponential backoff. There is no request rate limit, so 429 is never returned for call volume
  6. ALWAYS space LinkedIn actions out: at most 50 likes a day at least 2 minutes apart, and 25 comments a day at least 5 minutes apart, per LinkedIn account (see Recommended pace)

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
  5. Never expect one call to cover two platforms: “LinkedIn and Reddit” is one POST to /api-keyword-watchlist plus one POST to /api-reddit-watchlist
  6. Never invent pagination params: use page and page_size (limit, offset, per_page, and pageSize are rejected with a 400)
  7. NEVER burst LinkedIn actions. /api-like and /api-comment run on a real LinkedIn account, and a burst gets that account restricted, not your API key
For the full OutX API skill file, see outx-skill.md.

Frequently Asked Questions

A LinkedIn keyword watchlist backfills recent matching posts in the background, so it is usually non-empty within minutes. Ongoing collection then follows the fetch frequency you set (fetchFreqInHours): with fetchFreqInHours at 6, each later batch arrives every 6 hours. Reddit, people and company watchlists do not backfill, so they fill from their first fetch cycle onward.
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