LurkAPI

Live public posts, profiles, ads, comments and transcripts from 16 social platforms and the web.

Hosted MCP Server

npx add-mcp 'https://api.lurkapi.com/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Quickstart

LurkAPI fetches public posts, profiles, ads and comments from Facebook, Reddit, YouTube and 13 more platforms, as clean data. Use it from an AI app like Claude, from your own code, or right here in the browser.

Ways to start:

  • Try it now (no signup): Run a real request on this page and see what comes back. 5 free tries a day. Run a request
  • Ask your AI app (no code): Add LurkAPI to Claude, ChatGPT, Cursor or VS Code. Then ask for what you want in plain English. Add to Claude
  • Call it from code (for developers): Send one request, get JSON back. You start with 100 free credits, no card needed. Get a free API key

Try it live

Pick what to fetch and press Run request. It's real data, and you don't need an account: 5 free tries a day.

Live playground: https://lurkapi.com/docs#try

Use it in your AI app

Add LurkAPI to your AI app once. Then ask in plain English, like “Which ads is Allbirds running right now?” Your AI picks the right request, runs it and answers with what it found.

It works through MCP, the standard way AI apps connect to outside tools. Any app that supports MCP can use it, not just these.

Claude

Opens Claude with LurkAPI filled in. Click Add, then Connect to sign in. In a chat, switch LurkAPI on from the tools menu.

Add to Claude

Add it by hand:

  1. In Claude, open Settings → Connectors and choose Add custom connector.
  2. Name it LurkAPI, paste https://api.lurkapi.com/mcp and click Add.
  3. Click Connect and sign in to LurkAPI, or create an account in the same step.
  4. In a chat, switch LurkAPI on from the tools menu.

Free Claude plans allow one custom connector; on Team plans an owner adds it.

ChatGPT

Open Plugins, click + and choose Add custom MCP server. Paste this address, pick OAuth and sign in.

https://api.lurkapi.com/mcp?compact

Cursor

Cursor asks to install LurkAPI, then you sign in. No key to paste.

Add to Cursor

VS Code

Adds LurkAPI to Copilot Chat. You sign in the first time it starts.

Add to VS Code

Claude Code

Run this in your terminal to install the LurkAPI plugin: the server plus skills for whole research jobs (below). Ask away before you sign in: Claude Code gets 5 free tries a day on 1-credit endpoints. To sign in, type /mcp in Claude Code, pick plugin:lurkapi:lurkapi and choose Authenticate.

claude plugin marketplace add mesmerlord/lurkapi-claude-plugin && claude plugin install lurkapi@lurkapi

Only the server, or for scripts and CI:

Add the server without the skills:

Terminal:

claude mcp add --transport http lurkapi https://api.lurkapi.com/mcp

For scripts and CI, skip the sign-in and send a key in a header instead:

Terminal:

claude mcp add --transport http lurkapi https://api.lurkapi.com/mcp \
  --header "x-api-key: YOUR_API_KEY"

Any other AI app

Paste this address. An app that signs in with OAuth needs nothing else.

https://api.lurkapi.com/mcp

If your app can't sign in:

Give it your key in a header. Most apps take a JSON config like this:

mcp.json:

{
  "mcpServers": {
    "lurkapi": {
      "url": "https://api.lurkapi.com/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

If it only takes an address, add your key to the end: https://api.lurkapi.com/mcp?key=YOUR_API_KEY.

Each app signs in to your LurkAPI account and gets its own key. Its calls spend your credits, the same as calls from code. To disconnect an app, revoke its key on your dashboard.

Skills

Skills turn a whole job into one ask: lurk a brand, tear down its ads, research Reddit, vet a creator, read a channel's videos or size up demand. Each one knows the calls to chain and what they cost. The Claude Code plugin includes them; Codex, Cursor and other agents that read Agent Skills can add them on their own, and call the API with your key in LURKAPI_API_KEY. See the skills.

Terminal:

npx skills add mesmerlord/lurkapi-claude-plugin

Advanced options

  • Fewer tools. Your app sees one tool per endpoint, named after it, like facebook_search_ads. Each endpoint's page shows its tool name and a prompt to try. To keep the list short, name the platforms you want: https://api.lurkapi.com/mcp?platforms=facebook,reddit. A platform's id is the end of its docs address, like facebook in /docs/facebook.
  • Two tools instead of many. Some apps, like ChatGPT, load every tool up front and cap how many they take. For them, https://api.lurkapi.com/mcp?compact gives two tools: find_endpoints to search the catalog and call_endpoint to run one. Prices are the same.
  • Trimmed results. To save tokens, tool results leave out empty fields, keep one URL per image or video, and give transcripts as plain text unless you pass timestamps=true. A result over 45,000 characters comes in parts. Its _note gives the offset for the next part, and later parts are free for 15 minutes. Pass trim=false for the full response.
  • Recipes. Prompts for common jobs: ad_research, brand_snapshot, vet_creator, subreddit_research and channel_transcripts. In Claude Code they're slash commands, like /lurkapi:ad_research allbirds.com; other apps that support MCP prompts list them in their prompt menu.
  • Spend caps. Tools whose price varies (web pages, speech-to-text) take max_credits: a call that would cost more stops before it spends anything.
  • Errors your AI can fix. A failed call says whether retrying can help (retryable), what to change (fix) and, for a misnamed tool or parameter, the corrected call (did_you_mean).

Your first API call

Three steps. You need a terminal, or a few lines of code in Node.js, Python, Go, PHP or Ruby.

1. Get a free API key

An API key is a password for your code. You send it with every request, so we know the call is yours.

Sign in, then create a key on your dashboard. New accounts get 100 free credits, no card needed.

Get a free API key

2. Send a request

A request is a web address that says what you want, sent with your key. This one runs Search Ad Library ads with an example search. Replace YOUR_API_KEY with your key, then paste the curl version into a terminal:

curl:

curl "https://api.lurkapi.com/v1/facebook/adLibrary/search/ads?query=running+shoes&country=US&status=active" \
  -H "x-api-key: YOUR_API_KEY"

JavaScript:

const params = new URLSearchParams({
  query: "running shoes",
  country: "US",
  status: "active",
});
const res = await fetch(`https://api.lurkapi.com/v1/facebook/adLibrary/search/ads?${params}`, {
  headers: { "x-api-key": process.env.LURKAPI_API_KEY },
});
const data = await res.json();
if (!data.success) throw new Error(`${data.code}: ${data.error}`);
console.log(data.searchResults);

Python:

import os
import requests

res = requests.get(
    "https://api.lurkapi.com/v1/facebook/adLibrary/search/ads",
    params={
        "query": "running shoes",
        "country": "US",
        "status": "active",
    },
    headers={"x-api-key": os.environ["LURKAPI_API_KEY"]},
    timeout=60,
)
data = res.json()
if not data["success"]:
    raise RuntimeError(f"{data['code']}: {data['error']}")
print(data["searchResults"])

The code versions read your key from LURKAPI_API_KEY, an environment variable, so the key stays out of your code. Pick a language once and every page shows it.

3. Read the result

You get JSON back: plain text with named fields, which any language can read. Every answer starts the same way:

  • success is true when the call worked.
  • credits_remaining is your balance after it.
  • credits_charged is what this call cost.
  • Then comes the data, here under searchResults.

200 OK:

{
  "success": true,
  "credits_remaining": 4985,
  "credits_charged": 1,
  "searchResults": […]
}

Each endpoint's page lists its parameters and every field it returns, with a real example response and a live playground. They're all listed under All endpoints.

Authentication

Send your key in the x-api-key header. Authorization: Bearer <key> works too.

Keys start with lk_live_. Each one is shown once, when you create it. Create and revoke keys on your dashboard.

AI apps that sign in through LurkAPI get their own key, so there's nothing to paste. An app that can't sign in can send a key in a header, or add it to the address as ?key=.

Keep your key secret. Call LurkAPI from a server or a script, never from a web page your visitors can inspect.

Agents: getting a key needs a human sign-in. Ask your user to sign in at https://lurkapi.com/login and paste the key from the dashboard.

Requests and responses

Every endpoint takes a GET request. Parameters go in the query string, the part of the address after ?.

Unknown parameters are ignored. Blank ones count as unset. If you repeat a parameter, the first value wins.

Answers are JSON. A successful one has success: true, credits_charged, credits_remaining and the data, as shown above. A failed one has success: false and a code to branch on (see Errors).

Credits

Each call costs credits. Endpoints cost 1–31 credits per call, and each endpoint's page shows its price.

  • Without an account: 5 free tries a day from the playground, the free tools, or Claude Code before you sign in.
  • New accounts: 100 free credits, no card needed.
  • Every day: if your balance is under 25, it's topped back up to 25.
  • Credit packs: one-off purchases, no subscription. Credits never expire.
  • Auto top-up: opt in on your dashboard and a pack is bought with your saved card whenever your balance drops below a threshold you pick (at most 3 a day and 10 a month), so calls don't stop on a 402. Every purchase has an invoice there.
PackCreditsPricePer 1,000 credits
Starter10,000$9.00$0.90
Growth100,000$59.00$0.59
Scale500,000$225.00$0.45

What you pay for

  • Charged: every call that reached the platform. That includes not_found and other errors from the endpoint itself, like a bad cursor.
  • Free: calls we stop before that, like a missing or invalid parameter, a bad key (401), too few credits (402) or too many requests (429). Failures on our side (5xx) are free too.
  • Cached answers cost the same as fresh ones. Free tries without an account follow the same rules.
  • Cap a call with max_credits. Any call takes it, and one that would cost more stops with 402 over_max_credits and costs nothing. It matters where the price varies: web pages and speech-to-text transcripts.

If your balance is too low for a call, you get 402 insufficient_credits and nothing is charged. Credit balance is free, so you can check your balance before a big batch.

Errors

When a call fails, you get an HTTP status of 400 or higher and a body like this:

400 Bad Request:

{
  "success": false,
  "error": "query: required",
  "code": "invalid_params",
  "docs": "https://lurkapi.com/docs/facebook/search-ads",
  "issues": [
    {
      "path": "query",
      "message": "required"
    }
  ]
}

Branch on code. The error text is written for people and may change. docs links to the page that covers it, and parameter errors list each problem in issues.

Over MCP, errors carry three more fields for your AI. A failed call says whether retrying can help (retryable), what to change (fix) and, for a misnamed tool or parameter, the corrected call (did_you_mean).

Retry 429, 502 and 503. A 429 or 503 comes with a retry-after header: the number of seconds to wait.

Errors caught before we reach the platform are free, and so are failures on our side. A not_found is charged. See what you pay for.

StatusCodeMeaning
400invalid_paramsA parameter is missing or invalid. issues names each one.
401missing_api_keyNo API key was sent. Put it in the x-api-key header.
401invalid_api_keyThis key doesn't exist or was revoked.
401invalid_tokenYour playground session expired. Reload the page.
402insufficient_creditsNot enough credits for this call. Buy a pack, or wait for tomorrow's free top-up.
402over_max_creditsThis call would cost more than the max_credits you set. The error says what it needs; raise max_credits to allow it. Not charged.
403account_suspendedThis account is suspended. Email support@lurkapi.com. Not charged.
403not_publicThe platform shows this account or post only to people who are logged in. Try a public one. Charged, since the platform was checked.
404not_foundWhat you asked for (a post, an ad, a subreddit) doesn't exist, or there's no endpoint at that path. Charged if the platform was checked.
404transcript_unavailableThe video has no captions, and speech-to-text heard no speech in it. You pay the base credit, never the speech-to-text extra. The answer is cached.
405method_not_allowedEndpoints only take GET, with parameters in the URL.
429rate_limitedToo many calls in a short time. Wait as many seconds as the retry-after header says, then retry.
429signup_requiredToday's free tries are used up. Sign up for free daily credits.
500internal_errorSomething broke on our side. Retry. Not charged.
502upstream_errorThe platform didn't send a usable answer. Retry. Not charged.
503upstream_busyAll our connections to the platform are busy. Retry in a few seconds. Not charged.
504upstream_timeoutThe platform took over 30 seconds to answer (90 for web pages). Retry. Not charged.

Rate limits

Each account can make 50 requests every 10 seconds. That's 5 a second, sustained.

Go over it and you get 429 rate_limited with a retry-after header. Wait that many seconds, then retry.

High-volume accounts get 100 requests every 10 seconds. Email support@lurkapi.com to raise your limit.

Without an account, the playground and free tools allow 5 requests per IP address a day. After that you get 429 signup_required.

Pagination

List endpoints return one page of results per call. For the next page, send the same request again with the cursor from the answer. It's called cursor or after, and each endpoint's page says which.

On the last page the cursor is null. Each page costs the endpoint's credits.

Caching and freshness

We keep recent answers for a while, so asking again comes back fast. How long depends on how quickly the data changes, from 30 seconds to 30 days. Each endpoint's page shows its own time.

A cached answer costs the same credits as a fresh one.

EndpointCached for up to
Facebook: Search Ad Library ads30 minutes
Facebook: Ad Library ads by company30 minutes
Facebook: Ad Library ad details6 hours
Facebook: Search Ad Library companies1 day
Facebook: Public profile10 minutes
Facebook: Public post5 minutes
Facebook: Profile posts10 minutes
Facebook: Profile events1 hour
Facebook: Post comments5 minutes
Reddit: Subreddit posts1 minute
Reddit: Subreddit details1 hour
Reddit: Subreddit search1 minute
Reddit: Search Reddit1 minute
Reddit: Post comments1 minute
YouTube: Video details1 hour
YouTube: Video transcript30 days
YouTube: Video comments10 minutes
YouTube: Comment replies10 minutes
YouTube: Channel details6 hours
YouTube: Channel videos1 hour
YouTube: Channel Shorts1 hour
YouTube: Search YouTube15 minutes
TikTok: Profile15 minutes
TikTok: Video details15 minutes
TikTok: Video transcript30 days
TikTok: Profile videos5 minutes
TikTok: Video comments5 minutes
TikTok: Comment replies5 minutes
TikTok: Hashtag videos10 minutes
TikTok: Song1 hour
TikTok: Song videos10 minutes
TikTok: Search TikTok Ad Library1 hour
TikTok: TikTok Ad Library ad3 hours
TikTok: Live status30 seconds
TikTok: Public stories1 minute
TikTok: TikTok Shop product5 minutes
TikTok: Search videos10 minutes
TikTok: TikTok Shop store products15 minutes
TikTok: TikTok Shop search suggestions1 day
Google: Search Google advertisers1 day
Google: Google ads by company12 hours
Google: Google ad details12 hours
Google: Search Google Maps12 hours
Google: Google Maps place details1 day
Google: Google Maps reviews1 hour
Google: Search Google News10 minutes
Google: Google autocomplete6 hours
Bluesky: Profile30 seconds
Bluesky: User posts3 minutes
Bluesky: Post3 minutes
Snapchat: Profile and stories15 minutes
Truth Social: Profile10 minutes
Truth Social: User posts2 minutes
Truth Social: Post5 minutes
Telegram: Channel1 hour
Telegram: Channel posts5 minutes
Telegram: Post10 minutes
X (Twitter): Tweet5 minutes
X (Twitter): Profile1 hour
X (Twitter): User tweets5 minutes
Threads: Threads profile1 hour
Threads: Threads account posts1 minute
Threads: Threads post5 minutes
Instagram: Profile10 minutes
Instagram: User posts3 minutes
Instagram: Post5 minutes
Instagram: Post comments2 minutes
Instagram: User reels3 minutes
Instagram: Media transcript30 days
Instagram: Search reels10 minutes
Instagram: Similar profiles1 hour
LinkedIn: LinkedIn profile6 hours
LinkedIn: LinkedIn company page1 hour
LinkedIn: LinkedIn company posts1 hour
LinkedIn: Search LinkedIn jobs1 hour
LinkedIn: LinkedIn job details1 hour
LinkedIn: Search LinkedIn ads1 hour
LinkedIn: LinkedIn ad details1 hour
Link-in-bio: Linktree page1 day
eBay: Search eBay listings15 minutes
eBay: eBay listing details15 minutes
Web: Scrape a page (Auto)not cached
Web: Fetch a page (plain request)not cached
Web: Render a page (browser)not cached
Web: Unblock a page (separate IPs)not cached
Web: Fetch a page from a residential IPnot cached
Web: Render a page from a residential IPnot cached
Web: Scrape a page with your own stepsnot cached

All endpoints

Every endpoint, with its path, its price and its tool name in AI apps.

Facebook

EndpointPathCostMCP tool
Search Ad Library ads/v1/facebook/adLibrary/search/ads1 creditfacebook_search_ads
Ad Library ads by company/v1/facebook/adLibrary/company/ads1 creditfacebook_company_ads
Ad Library ad details/v1/facebook/adLibrary/ad1 creditfacebook_ad
Search Ad Library companies/v1/facebook/adLibrary/search/companies1 creditfacebook_search_companies
Public profile/v1/facebook/profile1 creditfacebook_profile
Public post/v1/facebook/post1 creditfacebook_post
Profile posts/v1/facebook/profile/posts1 creditfacebook_profile_posts
Profile events/v1/facebook/profile/events1 creditfacebook_profile_events
Post comments/v1/facebook/post/comments1 creditfacebook_post_comments

Reddit

EndpointPathCostMCP tool
Subreddit posts/v1/reddit/subreddit1 creditreddit_subreddit_posts
Subreddit details/v1/reddit/subreddit/details1 creditreddit_subreddit_details
Subreddit search/v1/reddit/subreddit/search1 creditreddit_subreddit_search
Search Reddit/v1/reddit/search1 creditreddit_search
Post comments/v1/reddit/post/comments1 creditreddit_post_comments

YouTube

EndpointPathCostMCP tool
Video details/v1/youtube/video1 credityoutube_video
Video transcript/v1/youtube/video/transcript1 credityoutube_transcript
Video comments/v1/youtube/video/comments1 credityoutube_comments
Comment replies/v1/youtube/video/comment/replies1 credityoutube_comment_replies
Channel details/v1/youtube/channel1 credityoutube_channel
Channel videos/v1/youtube/channel-videos1 credityoutube_channel_videos
Channel Shorts/v1/youtube/channel/shorts1 credityoutube_channel_shorts
Search YouTube/v1/youtube/search1 credityoutube_search

TikTok

EndpointPathCostMCP tool
Profile/v1/tiktok/profile1 credittiktok_profile
Video details/v2/tiktok/video1 credittiktok_video
Video transcript/v1/tiktok/video/transcript1 credit; 2 if speech-to-text runstiktok_transcript
Profile videos/v3/tiktok/profile/videos1 credittiktok_profile_videos
Video comments/v1/tiktok/video/comments1 credittiktok_comments
Comment replies/v1/tiktok/video/comment/replies1 credittiktok_comment_replies
Hashtag videos/v1/tiktok/search/hashtag1 credittiktok_hashtag_videos
Song/v1/tiktok/song1 credittiktok_song
Song videos/v1/tiktok/song/videos1 credittiktok_song_videos
Search TikTok Ad Library/v1/tiktok/ad-library/search1 credittiktok_ad_library_search
TikTok Ad Library ad/v1/tiktok/ad-library/ad1 credittiktok_ad_library_ad
Live status/v1/tiktok/user/live1 credittiktok_live
Public stories/v1/tiktok/user/stories1 credittiktok_stories
TikTok Shop product/v1/tiktok/product1 credittiktok_product
Search videos/v1/tiktok/search/keyword1 credittiktok_search_keyword
TikTok Shop store products/v1/tiktok/shop/products1 credittiktok_shop_products
TikTok Shop search suggestions/v1/tiktok/shop/search/suggestions1 credittiktok_shop_suggestions

Google

EndpointPathCostMCP tool
Search Google advertisers/v1/google/adLibrary/advertisers/search1 creditgoogle_search_advertisers
Google ads by company/v1/google/company/ads1 creditgoogle_company_ads
Google ad details/v1/google/ad1 creditgoogle_ad
Search Google Maps/v1/google/maps/search1 creditgoogle_maps_search
Google Maps place details/v1/google/maps/place1 creditgoogle_maps_place
Google Maps reviews/v1/google/maps/reviews1 creditgoogle_maps_reviews
Search Google News/v1/google/news1 creditgoogle_news
Google autocomplete/v1/google/autocomplete1 creditgoogle_autocomplete

Bluesky

EndpointPathCostMCP tool
Profile/v1/bluesky/profile1 creditbluesky_profile
User posts/v1/bluesky/user/posts1 creditbluesky_user_posts
Post/v1/bluesky/post1 creditbluesky_post

Snapchat

EndpointPathCostMCP tool
Profile and stories/v1/snapchat/profile1 creditsnapchat_profile

Truth Social

EndpointPathCostMCP tool
Profile/v1/truthsocial/profile1 credittruthsocial_profile
User posts/v1/truthsocial/user/posts1 credittruthsocial_user_posts
Post/v1/truthsocial/post1 credittruthsocial_post

Telegram

EndpointPathCostMCP tool
Channel/v1/telegram/channel1 credittelegram_channel
Channel posts/v1/telegram/channel/posts1 credittelegram_channel_posts
Post/v1/telegram/post1 credittelegram_post

X (Twitter)

EndpointPathCostMCP tool
Tweet/v1/twitter/tweet1 credittwitter_tweet
Profile/v1/twitter/profile1 credittwitter_profile
User tweets/v1/twitter/user-tweets1 credittwitter_user_tweets

Threads

EndpointPathCostMCP tool
Threads profile/v1/threads/profile1 creditthreads_profile
Threads account posts/v1/threads/user/posts1 creditthreads_user_posts
Threads post/v1/threads/post1 creditthreads_post

Instagram

EndpointPathCostMCP tool
Profile/v1/instagram/profile1 creditinstagram_profile
User posts/v2/instagram/user/posts1 creditinstagram_user_posts
Post/v1/instagram/post1 creditinstagram_post
Post comments/v2/instagram/post/comments1 creditinstagram_post_comments
User reels/v1/instagram/user/reels1 creditinstagram_user_reels
Media transcript/v2/instagram/media/transcript1 credit; 2 if speech-to-text runsinstagram_media_transcript
Search reels/v2/instagram/reels/search1 creditinstagram_reels_search
Similar profiles/v1/instagram/profile/similar1 creditinstagram_similar_profiles

LinkedIn

EndpointPathCostMCP tool
LinkedIn profile/v1/linkedin/profile1 creditlinkedin_profile
LinkedIn company page/v1/linkedin/company1 creditlinkedin_company
LinkedIn company posts/v1/linkedin/company/posts1 creditlinkedin_company_posts
Search LinkedIn jobs/v1/linkedin/jobs/search1 creditlinkedin_search_jobs
LinkedIn job details/v1/linkedin/job1 creditlinkedin_job
Search LinkedIn ads/v1/linkedin/ads/search1 creditlinkedin_search_ads
LinkedIn ad details/v1/linkedin/ad1 creditlinkedin_ad

Link-in-bio

EndpointPathCostMCP tool
Linktree page/v1/linktree1 creditlinkinbio_linktree

eBay

EndpointPathCostMCP tool
Search eBay listings/v1/ebay/search2 creditsebay_search
eBay listing details/v1/ebay/item2 creditsebay_item

Web

EndpointPathCostMCP tool
Scrape a page (Auto)/v1/web/scrape1 credit; +3 if a browser on separate IPs gets it, +4 if it needs a residential IP, +13 if a browser renders it on a residential IP, +10 if a captcha is solvedweb_scrape
Fetch a page (plain request)/v1/web/fetch1 creditweb_fetch
Render a page (browser)/v1/web/render1 credit; 11 if a captcha is solvedweb_render
Unblock a page (separate IPs)/v1/web/unblock4 creditsweb_unblock
Fetch a page from a residential IP/v1/web/residential5 creditsweb_residential
Render a page from a residential IP/v1/web/render-residential14 credits; 24 if a captcha is solvedweb_render_residential
Scrape a page with your own steps/v1/web/custom1 credit; +3 if a browser on separate IPs gets it, +4 if it needs a residential IP, +13 if a browser renders it on a residential IP, +10 if a captcha is solvedweb_custom

Account

EndpointPathCostMCP tool
Credit balance/v1/account/credit-balancefreeaccount_credit_balance

For AI agents

  • Base URL: https://api.lurkapi.com
  • Auth: x-api-key: lk_live_… header (or Authorization: Bearer lk_live_…). Get a free key: 100 free credits on signup, no card.
  • Requests: GET with query parameters. Responses are JSON with success, credits_remaining and the data at the top level; errors add code and docs.
  • Price: Endpoints cost 1–31 credits per call, from $0.45 per 1,000 credits. Calls turned away before they reach the platform (invalid parameters, a key or balance problem, a rate limit) are free, and so are 5xx errors. A not_found is charged, since the platform was checked. How charging works. Every response has credits_charged and credits_remaining; GET /v1/account/credit-balance is free.
  • Rate limit: 50 requests per 10 seconds per account (100 for high-volume accounts: support@lurkapi.com); over it, 429 rate_limited with retry-after.
  • Agents: getting a key needs a human sign-in. Ask your user to sign in at https://lurkapi.com/login and paste the key from the dashboard.
  • MCP server: https://api.lurkapi.com/mcp (Streamable HTTP). Every endpoint is a tool. Add platforms to keep the list short: https://api.lurkapi.com/mcp?platforms=facebook,reddit gives one tool per endpoint of those platforms, plus the free account tool. Platform ids: facebook, reddit, youtube, tiktok, google, bluesky, snapchat, truthsocial, telegram, twitter, threads, instagram, linkedin, linkinbio, ebay and web. For a client that loads every tool up front and caps how many it takes, like ChatGPT, https://api.lurkapi.com/mcp?compact gives two tools instead: find_endpoints to search the catalog and call_endpoint to run one, charged the same. To save tokens, tool results leave out empty fields, keep one URL per image or video, and give transcripts as plain text unless you pass timestamps=true. A result over 45,000 characters comes in parts. Its _note gives the offset for the next part, and later parts are free for 15 minutes. Pass trim=false for the full response. Tools whose price varies (web pages, speech-to-text) take max_credits: a call that would cost more stops before it spends anything. A failed call says whether retrying can help (retryable), what to change (fix) and, for a misnamed tool or parameter, the corrected call (did_you_mean). Prompts for common jobs: ad_research, brand_snapshot, vet_creator, subreddit_research and channel_transcripts. In Claude Code they're slash commands, like /lurkapi:ad_research allbirds.com; other apps that support MCP prompts list them in their prompt menu.
  • Machine-readable: /openapi.json, /llms.txt, /llms-full.txt, and every docs page as markdown at its URL + .md.

GET https://api.lurkapi.com/ returns a JSON index of every endpoint.

Support

Email support@lurkapi.com about anything: a wrong result, a broken endpoint, billing or your account. Tell us the endpoint and the parameters you sent. Never send your key.

The status page shows whether each endpoint is working right now.