Docs · Migrating from another provider
Migrating from another provider
If you're moving from ScrapeCreators or a similar API, most code keeps working once you change the base URL and the API key. This page lists every difference.
Switch in three steps
- 1Get a LurkAPI key. It starts with
lk_live_. - 2Change the base URL to
https://api.lurkapi.com. Paths stay the same. - 3Keep sending the key in the
x-api-keyheader.
69 of ScrapeCreators' endpoints are at the same path here, so a client written for it usually works as it is. A call looks like this:
curl "https://api.lurkapi.com/v1/facebook/adLibrary/search/ads?query=running+shoes&country=US&status=active" \-H "x-api-key: YOUR_API_KEY"Then check your code against the differences below.
What stays the same
- Paths, the
x-api-keyheader, and thesuccess,credits_remainingandcredits_chargedfields.erroris still a string. - Allowed values work in any case (
status=ACTIVE), and so do anr/prefix on subreddit names and trailing slashes. - Unknown parameters such as
get_transcriptare ignored. Blank parameters count as unset, and a repeated parameter uses its first value.
What's different
Requests
- Keys start with
lk_live_.Authorization: Bearer <key>works too. - Only
GET. Other methods return405 method_not_allowed. Some providers also take POST on search ads, company ads and post comments. Send those as GET, with the parameters in the URL. - Instagram profile, user posts and user reels take
username(orurl), nothandle. For the next page, passafter, notnext_max_idormax_id. - TikTok
user_idandregionaren't supported on profile, videos, search or shop. trimmust betrueorfalse(any case). Anything else is400 invalid_params.- Search companies
countrytakesALLor a 2-letter country code, nothing else. cache_max_ageis ignored. Each endpoint sets its own cache time, shown on its page. A cached answer costs the same as a fresh one.
Responses
credits_remainingis your real balance after the call.- Instagram profile and X profile come back in a different shape. Each link shows a real response.
- Facebook Ad Library
watermarked_resized_image_urlis""rather thannull, andig_verificationisfalserather thannull. - Company ads defaults to
status=all. Passstatus=activefor running ads only. - Subreddit search returns posts only.
Errors and rate limits
- Error bodies are
{ success: false, error, code, docs, issues? }. Checkcode, not theerrortext.502and503errors don't include the platform's own error details. All error codes. - Status codes: no credits left is
402 insufficient_credits, too many calls is429 rate_limited, a missing key is401 missing_api_keyand a revoked key is401 invalid_api_key. - Rate limit: 50 requests per 10 seconds per account, with a
retry-afterheader on429. High-volume accounts get 100. Email support@lurkapi.com to ask.
Charging
A call is charged once it reaches the platform. That includes not_found and other errors the endpoint itself returns, like a bad cursor. These are free: invalid parameters (caught before the call), 401, 402 and 429 rejections, and 5xx failures. A cached answer costs the same as a fresh one. Free tries without an account follow the same rule.
Fields we don't return
Reddit data comes from reddit.com's own pages. We leave out fields those pages don't show rather than guess them. The four Facebook Ad Library endpoints and subreddit search return every key.
- Subreddit posts (
posts[]): nodowns,subreddit_subscribers,num_crossposts,edited,distinguished,archived,pinned,media,secure_media,media_embed,gilded,all_awardings,author_flair_textorlink_flair_css_class, and none of Reddit's moderator (mod_reports,banned_by…) or viewer-state (saved,likes,clicked…) fields. - Search Reddit (
posts[]): only what the search page shows, so also noselftext,selftext_html,url,url_overridden_by_dest,domain,is_self,is_video,preview,upvote_ratio,link_flair_text,stickied,lockedortotal_awards_received. Pass the post's URL to post comments for the full post. - Post comments:
postlacks the same fields as subreddit posts, plusnum_duplicates;comments[]have nodowns,edited,distinguished,stickied,locked,controversiality,score_hidden,gilded,all_awardings,total_awards_received,author_flair_textorcollapsed_reason, nor moderator or viewer-state fields. - Subreddit details: no
subscribers,advertiser_categoryorsubmit_text. Useweekly_active_usersfor size.
Older `/api/v1/` clients
/api/v1/…paths still work.https://api.lurkapi.com/api/v1/facebook/adLibrary/search/adsis the same endpoint ashttps://api.lurkapi.com/v1/facebook/adLibrary/search/ads.credits_remainingused to be-1.- Errors used to be
{ error }, with different text: "missing required query param: query" is now "query: required". A revoked key used to get403, and now gets401. - The Facebook ad endpoint and the Reddit endpoints used to treat any
trimvalue other thantrueas false. Now anything buttrueorfalseis a400.
Endpoints and prices
Endpoints cost 1–31 credits per call.
| Path | Endpoint | Cost |
|---|---|---|
/v1/facebook/adLibrary/search/ads | Facebook: Search Ad Library ads | 1 credit |
/v1/facebook/adLibrary/company/ads | Facebook: Ad Library ads by company | 1 credit |
/v1/facebook/adLibrary/ad | Facebook: Ad Library ad details | 1 credit |
/v1/facebook/adLibrary/search/companies | Facebook: Search Ad Library companies | 1 credit |
/v1/facebook/profile | Facebook: Public profile | 1 credit |
/v1/facebook/post | Facebook: Public post | 1 credit |
/v1/facebook/profile/posts | Facebook: Profile posts | 1 credit |
/v1/facebook/profile/events | Facebook: Profile events | 1 credit |
/v1/facebook/post/comments | Facebook: Post comments | 1 credit |
/v1/reddit/subreddit | Reddit: Subreddit posts | 1 credit |
/v1/reddit/subreddit/details | Reddit: Subreddit details | 1 credit |
/v1/reddit/subreddit/search | Reddit: Subreddit search | 1 credit |
/v1/reddit/search | Reddit: Search Reddit | 1 credit |
/v1/reddit/post/comments | Reddit: Post comments | 1 credit |
/v1/youtube/video | YouTube: Video details | 1 credit |
/v1/youtube/video/transcript | YouTube: Video transcript | 1 credit |
/v1/youtube/video/comments | YouTube: Video comments | 1 credit |
/v1/youtube/video/comment/replies | YouTube: Comment replies | 1 credit |
/v1/youtube/channel | YouTube: Channel details | 1 credit |
/v1/youtube/channel-videos | YouTube: Channel videos | 1 credit |
/v1/youtube/channel/shorts | YouTube: Channel Shorts | 1 credit |
/v1/youtube/search | YouTube: Search YouTube | 1 credit |
/v1/tiktok/profile | TikTok: Profile | 1 credit |
/v2/tiktok/video | TikTok: Video details | 1 credit |
/v1/tiktok/video/transcript | TikTok: Video transcript | 1 credit; 2 if speech-to-text runs |
/v3/tiktok/profile/videos | TikTok: Profile videos | 1 credit |
/v1/tiktok/video/comments | TikTok: Video comments | 1 credit |
/v1/tiktok/video/comment/replies | TikTok: Comment replies | 1 credit |
/v1/tiktok/search/hashtag | TikTok: Hashtag videos | 1 credit |
/v1/tiktok/song | TikTok: Song | 1 credit |
/v1/tiktok/song/videos | TikTok: Song videos | 1 credit |
/v1/tiktok/ad-library/search | TikTok: Search TikTok Ad Library | 1 credit |
/v1/tiktok/ad-library/ad | TikTok: TikTok Ad Library ad | 1 credit |
/v1/tiktok/user/live | TikTok: Live status | 1 credit |
/v1/tiktok/user/stories | TikTok: Public stories | 1 credit |
/v1/tiktok/product | TikTok: TikTok Shop product | 1 credit |
/v1/tiktok/search/keyword | TikTok: Search videos | 1 credit |
/v1/tiktok/shop/products | TikTok: TikTok Shop store products | 1 credit |
/v1/tiktok/shop/search/suggestions | TikTok: TikTok Shop search suggestions | 1 credit |
/v1/google/adLibrary/advertisers/search | Google: Search Google advertisers | 1 credit |
/v1/google/company/ads | Google: Google ads by company | 1 credit |
/v1/google/ad | Google: Google ad details | 1 credit |
/v1/google/maps/search | Google: Search Google Maps | 1 credit |
/v1/google/maps/place | Google: Google Maps place details | 1 credit |
/v1/google/maps/reviews | Google: Google Maps reviews | 1 credit |
/v1/google/news | Google: Search Google News | 1 credit |
/v1/google/autocomplete | Google: Google autocomplete | 1 credit |
/v1/bluesky/profile | Bluesky: Profile | 1 credit |
/v1/bluesky/user/posts | Bluesky: User posts | 1 credit |
/v1/bluesky/post | Bluesky: Post | 1 credit |
/v1/snapchat/profile | Snapchat: Profile and stories | 1 credit |
/v1/truthsocial/profile | Truth Social: Profile | 1 credit |
/v1/truthsocial/user/posts | Truth Social: User posts | 1 credit |
/v1/truthsocial/post | Truth Social: Post | 1 credit |
/v1/telegram/channel | Telegram: Channel | 1 credit |
/v1/telegram/channel/posts | Telegram: Channel posts | 1 credit |
/v1/telegram/post | Telegram: Post | 1 credit |
/v1/twitter/tweet | X (Twitter): Tweet | 1 credit |
/v1/twitter/profile | X (Twitter): Profile | 1 credit |
/v1/twitter/user-tweets | X (Twitter): User tweets | 1 credit |
/v1/threads/profile | Threads: Threads profile | 1 credit |
/v1/threads/user/posts | Threads: Threads account posts | 1 credit |
/v1/threads/post | Threads: Threads post | 1 credit |
/v1/instagram/profile | Instagram: Profile | 1 credit |
/v2/instagram/user/posts | Instagram: User posts | 1 credit |
/v1/instagram/post | Instagram: Post | 1 credit |
/v2/instagram/post/comments | Instagram: Post comments | 1 credit |
/v1/instagram/user/reels | Instagram: User reels | 1 credit |
/v2/instagram/media/transcript | Instagram: Media transcript | 1 credit; 2 if speech-to-text runs |
/v2/instagram/reels/search | Instagram: Search reels | 1 credit |
/v1/instagram/profile/similar | Instagram: Similar profiles | 1 credit |
/v1/linkedin/profile | LinkedIn: LinkedIn profile | 1 credit |
/v1/linkedin/company | LinkedIn: LinkedIn company page | 1 credit |
/v1/linkedin/company/posts | LinkedIn: LinkedIn company posts | 1 credit |
/v1/linkedin/jobs/search | LinkedIn: Search LinkedIn jobs | 1 credit |
/v1/linkedin/job | LinkedIn: LinkedIn job details | 1 credit |
/v1/linkedin/ads/search | LinkedIn: Search LinkedIn ads | 1 credit |
/v1/linkedin/ad | LinkedIn: LinkedIn ad details | 1 credit |
/v1/linktree | Link-in-bio: Linktree page | 1 credit |
/v1/ebay/search | eBay: Search eBay listings | 2 credits |
/v1/ebay/item | eBay: eBay listing details | 2 credits |
/v1/web/scrape | Web: Scrape a page (Auto) | 1 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 solved |
/v1/web/fetch | Web: Fetch a page (plain request) | 1 credit |
/v1/web/render | Web: Render a page (browser) | 1 credit; 11 if a captcha is solved |
/v1/web/unblock | Web: Unblock a page (separate IPs) | 4 credits |
/v1/web/residential | Web: Fetch a page from a residential IP | 5 credits |
/v1/web/render-residential | Web: Render a page from a residential IP | 14 credits; 24 if a captcha is solved |
/v1/web/custom | Web: Scrape a page with your own steps | 1 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 solved |
/v1/account/credit-balance | Account: Credit balance | free |
Also included
- Claude and MCP. Every endpoint is also a tool that Claude and other AI apps can call, at
https://api.lurkapi.com/mcp. Connect it to Claude. - Docs for AI agents. llms.txt, openapi.json, and every docs page as markdown (add
.mdto the URL). - Pay per call, from $0.59 per 1,000 credits, with no subscription. Pricing.
From the blog
All posts
· 5 min read
Best Reddit scrapers in 2026: price and speed compared
LurkAPI is the best Reddit scraper: 1,000 subreddit posts for $0.04, a feed in 0.92 s, and search and comment threads on the same key.

· 5 min read
Instagram MCP server for Claude and ChatGPT
Claude can’t read Instagram on its own. Add one MCP URL and it reads any public account’s posts, reels and comments, 1 credit a call, no Meta app.

· 5 min read
Best Threads scrapers in 2026: what 1,000 posts cost
LurkAPI is the best Threads scraper: 1,000 posts for $0.06, a page in about 1.2 s, and pages back to an account's first post.