Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "tiktok_channel_posts"
⟨19 unchanged words⟩ is blocked. Failures are 0 credits. Costs 2credits.credits native; extended 1/20 posts (min 2). Empty results and failures are never charged. Pass ⟨11 unchanged words⟩
⟨78 unchanged words⟩ (default 20, max 200). Newest first.FlatNative serves cost a flat 2creditscredits; extended serves scale with returned posts — 1 credit percall.20, minimum 2 (200 posts = 10 credits).","minimum":1,"type":"integer"} ⟨51 unchanged words⟩
Changed the definition of "tiktok_ad_library_top_ads"
⟨4 unchanged words⟩ description":"Optional format filter: spark or non_spark. Served only by the extended fetcher — while it is disabled, adFormat returns 503 filter_unavailable (retryable false, not billed). Omit adFormat for the native leaderboard.","type":"string"},"cache":{ ⟨259 unchanged words⟩
Certificate changed, valid to 2026-12-25
Changed the definition of "tiktok_popular_songs"
REMOVED 2026-09-26: TikTok deleted the public Creative Centerpopular/surgingsongsoundschart—(TikTokhonoured{}Onenamesmigration).appliedEveryfilters.callChartanswersmiss410
Changed the definition of "facebook_ad_library_company_ads", "facebook_ad_library_search", "facebook_ad_library_search_companies" and 13 more
CompanyAds for one Meta page — active by default, cursor through the HTML batch, same envelope as /facebook/search. Costs 2 credits. Empty results and failures are ⟨14 unchanged words⟩
⟨28 unchanged words⟩ "description":"Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY.","type":"string"},"cursor":{"description":"Pagination cursor from a previous nextCursor. Pages through the current Meta HTML result batch.","type":"string"},"limit":{"description":"Max items to return ⟨20 unchanged words⟩ ad.","minimum":1,"type":"integer"},"status":{"description":"Ad delivery status: ACTIVE (default), INACTIVE, or ALL. Use ACTIVE for \"what are they running now?\".","type":"string
Changed the definition of "facebook_marketplace_search", "instagram_comments", "instagram_hashtag_search" and 11 more
⟨66 unchanged words⟩ :"string"},"daysSinceListed":{"description":"Facebook calendar-day recency: 1 = since the start of yesterday (24hnot a rolling 24 hours), 7, or 30.","type":" ⟨83 unchanged words⟩ :"integer"},"location":{"description":"Search-origin city or place name, e.g. 'Austin,AliasTX'of(querysearchLocation.echoPrefer—searchLocation.not
Certificate recorded, valid to 2026-10-26
Authorization not required
First tool surface recorded: 178 tools (server version 0.1.0)
Showing the latest 9 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨49 unchanged words⟩ (e.g. US, GB, DE). Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY — Meta would otherwise ignore the code and search globally while echoing it back as if the filter worked.","type":"string"},"cursor":{ ⟨176 unchanged words⟩
⟨28 unchanged words⟩ "description":"Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY.","type":"string"},"limit":{ ⟨44 unchanged words⟩
⟨82 unchanged words⟩ The URL platform must match this endpoint's platform. A page/profile URL also works: Facebook renders the page's most recent post first, so you get that post's comments (each comment's url names the actual post).","format":"uri","type":"string ⟨2 unchanged words⟩
⟨65 unchanged words⟩ "Public Facebook group URL, e.g. https://facebook.com/groups/ID. Must contain /groups/ — profile/page URLs are a definitive 400 (use /v1/facebook/profile-posts for those). The URL platform must match this endpoint's platform. ⟨27 unchanged words⟩
⟨266 unchanged words⟩ the envelope and inside filters. Not listings[].location. Names that don't resolve to a real place are a definitive 400 UNKNOWN_LOCATION (Facebook would otherwise silently search an unrelated metro) — /v1/facebook/marketplace-location-search finds valid ones.","type":"string"},"sortBy":{ ⟨17 unchanged words⟩
⟨28 unchanged words⟩ "description":"Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY.","type":"string"},"creative_id":{ ⟨4 unchanged words⟩ URL containing AR... advertiser and CR... creative IDs. A creative that does not exist under the advertiser is a definitive 404 AD_NOT_FOUND (upstream answered) — 503 is reserved for actual transport failures.","type":"string"}},"required": ⟨3 unchanged words⟩
⟨33 unchanged words⟩ used for ranking (e.g. US). Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY.","type":"string"},"limit":{ ⟨53 unchanged words⟩
⟨54 unchanged words⟩ (soft filter). Default US. Alias: region. Non-ISO codes are a definitive 400 INVALID_COUNTRY.","type":"string"},"cursor":{ ⟨126 unchanged words⟩
⟨55 unchanged words⟩ },"userId":{"description":"Instagram numericuser IDpk (e.g. 13460080 — the id field on this endpoint).,Aor a profile URL,/ @handle,or/usernameusername.isAalsoFacebook/Graphacceptedfbidand(17-digitresolved17841…)automatically.is 400 WRONG_ID_TYPE.","type":"string"}},"required": ⟨3 unchanged words⟩
⟨28 unchanged words⟩ {"description":"LinkedIn Ad Library URL or numeric adID.ID (also accepts urn:li:sponsoredCreative:ID). Inputs that are neither numeric nor an ad-library detail URL are a definitive 400. The URL platform must match this endpoint's platform. ⟨27 unchanged words⟩
⟨55 unchanged words⟩ ISO country codes (e.g. US,CA,MX). Each code is validated — non-ISO codes are a 400 INVALID_COUNTRY.","type":"string"},"country":{ ⟨4 unchanged words⟩ code. Default US. Ignored when countries is set. Non-ISO codes are a definitive 400 INVALID_COUNTRY — LinkedIn would otherwise answer an empty result set as if the filter worked.","type":"string"},"cursor":{ ⟨23 unchanged words⟩ ":"Optional keyword filter on ad creative copy. Whole-word hits are ordered first; already-fetched SERP cards without a literal hit fill behind them up to limit (matchedFrom [] = ranked fill).","type":"string"},"limit":{"description":"Max items to return (default 20, max 200). One LinkedIn SERP page is ~25 cards — when limit is higher, further pages are pulled automatically within the request's time budget, so limit=50 fills to 50 when LinkedIn has the ads (hasMore + nextCursor cover the rest). Flat 2 credits per call on the ⟨68 unchanged words⟩
⟨28 unchanged words⟩ "description":"Two-letter ISO country code. Default GB. Only EU/EEA + UK + CH are covered by TikTok's library; other codes return 400 UNSUPPORTED_REGION.","type":"string"},"url":{"description":"TikTok Ad Library URL or numeric ad ID. Inputs with no extractable numeric ID are a definitive 400. An ID TikTok's library positively reports as nonexistent is a definitive 404 AD_NOT_FOUND (ads outside the EU/EEA+UK+CH never enter the library, and entries expire one year after last impression). The URL platform must match this endpoint's platform. ⟨27 unchanged words⟩
⟨33 unchanged words⟩ (e.g. GB, DE, FR). DefaultGBGB. TikTok's Commercial Content Library only covers the EU/EEA, the UK and Switzerland (EU32DSAcountries)library;— other codes (US,oftenSA,empty…).return 400 UNSUPPORTED_REGION with the supported list; TikTok has no ad-library data for them.","type":"string"},"limit":{ ⟨30 unchanged words⟩ \"all\" (AND). hair ≠ wheelchair. Literal hits lead; already-fetched SERP ads fill behind them up to limit (matchedFrom [] = ranked fill). Empty results are free.","type":"string ⟨21 unchanged words⟩
⟨38 unchanged words⟩ "description":"Two-letter ISO country code. Default US. Non-ISO codes are a definitive 400 INVALID_COUNTRY (Creative Center used to quietly return an empty leaderboard for them).","type":"string"},"industry":{ ⟨128 unchanged words⟩ "q":{"description":"Optional keyword thatfiltersranks the one ~20-row leaderboard page — not a library search. Case-insensitive whole-wordmatchhits on title/brandName/industry/objective (hair ≠ wheelchair) come first; the rest of TikTok's keyword-ranked page follows as fill (matchedFrom [] on those ads, rankedFill in the envelope). There is no tags field. advertiser.name is ⟨27 unchanged words⟩
⟨84 unchanged words⟩ url":{"description":"TikTok Shop store URL with numeric shop id, e.g. https://www.tiktok.com/shop/store/goli-nutrition/7495794203056835079. A slug-only /shop/store/{name} URL is a definitive 400 — TikTok's catalog SSR is keyed by shop id. Get the full URL from /v1/tiktok-shop/user-showcase or a product's seller.url. The URL platform must match this endpoint's platform. ⟨27 unchanged words⟩
GetSession-pagedtheInstagram commentson any—postlogged-outor2-rowReelpreview—oftext,aauthor,largerlikes,threadandistimestamp503whenSESSION_UNAVAILABLEexposes0them.credits. Costs ~45 credits (0.9/result). Empty results ⟨17 unchanged words⟩
⟨38 unchanged words⟩ Omit on the first page. hasMore is trueonlywhen nextCursor ispresent.set, or when more exist and cannot be paged (nextCursor null + truncatedReason).","type":"string"},"limit":{ ⟨62 unchanged words⟩
Hashtag Explore: session-raced nativethengrid, Apifylistingonlyactor.on miss. Max 50.Stale 200 on wall.Flat 2 credits. Costs 2 credits. Empty results ⟨17 unchanged words⟩
⟨65 unchanged words⟩ Hashtag without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES.","type":"string"}},"required": ⟨3 unchanged words⟩
⟨36 unchanged words⟩ URL to resolve (min 2 characters). A leading _ is stripped. Not a niche keyword search.","type":" ⟨5 unchanged words⟩
⟨63 unchanged words⟩ integer"},"q":{"description":"Hashtag(without#) orthekeyword# (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES.","type":"string"}},"required": ⟨3 unchanged words⟩
LinkedIn person profile with experience[], education[], skills[], similarProfiles[] — masked guest text becomes restricted: ⟨23 unchanged words⟩
Threads keyword search — posts with engagement + media. orderBy relevant | post_dated | engagement. Flat 2 credits. Costs 2 credits. Empty results ⟨17 unchanged words⟩
⟨43 unchanged words⟩ "minimum":1,"type":"integer"},"orderBy":{"description":"Sort the fetched page: relevant (default, Meta Top / similar to query), post_dated (newest publishedAt first), or engagement (likes+replies+reposts+quotes+views). Unknown values are 400.","type":"string"},"q":{"description":"Keyword or phrase to ⟨14 unchanged words⟩
⟨116 unchanged words⟩ ) or \"all\" (AND). Zeroliteralwhole-word hits→stillemptyreturnads[]TikTok's(neverkeyword-rankedanpageunfilteredassoftmatchBasis=rankedlist(literalMatches=0).","type":"string"},"objective" ⟨99 unchanged words⟩
⟨5 unchanged words⟩ honoured{} names applied filters. Chart miss isdegraded503catalogatsongs0 credits, notoriginalaaudio.For You sample. Costs 2 credits. Empty results and failures are ⟨14 unchanged words⟩
⟨75 unchanged words⟩ :"boolean"},"page":{"description":"PageCreativenumberCenter(defaultpage1(1–20). Echoed on a native chart 200 with hasMore. Omitted on the extended path — that list is one page.","minimum":1,"type":"integer"} ⟨26 unchanged words⟩
⟨80 unchanged words⟩ :"integer"},"q":{"description":"HashtagSingle hashtag token for the /tag/{name} challenge feed, with or without # (min 2).NotSpaces are 400 — use /v1/tiktok/search/top for a keyword query.","type":"string"} ⟨25 unchanged words⟩
PDP —price/originalPrice/typedpricediscount,(sku_minimages[],whenskus[]guestwithminper-variantisstock*),+soldsalePropsvs stock, seller id/url,categoriesimages[].(2Unresolvedcredits).URL is 404 at 0 credits. Costs 2 credits. Empty results and failures are ⟨14 unchanged words⟩
⟨27 unchanged words⟩ "region":{"description":"Two-letter market regionfor the secondary fetch path(default US).PrimaryASSRregion=usesor oec_region= query on the productURL's market;URLempty/partialwinsnon-USoverresultsthisaredefaultoftenso aTikTokBRexposuresharelimit.URL is not fetched as US. Echoed as data.region.","type":"string"},"url":{"description":"TikTok Shop product URL, e.g. https://shop.tiktok.com/view/product/1731410956394792439?region=BR or
Prominent public Truth Social profiles — isPrivate/bot/group,fields[]CP-F counts, avatar/banner. Flat 1 credit. Costs 1 credit. ⟨19 unchanged words⟩
⟨53 unchanged words⟩ to return (default 20, max 80).Capped at 80 becauseTruth Social's statuses page is~40~20 items —useanextCursorfullforpagemorereturnspages.nextCursor.FlatOn2thecreditsextendedperpathcall.hasMoreResponsecan`source`beistruenativewithornextCursorextended.null (truncatedReason=single_page_only). Flat 2 credits.","minimum":1,"type":"integer"} ⟨43 unchanged words⟩
⟨60 unchanged words⟩ or without the # (min 2 characters). One token — spaces are 400 HASHTAG_HAS_SPACES.","type":"string"}},"required": ⟨3 unchanged words⟩