Changelog

New endpoints, platforms, integrations, and fixes — everything we ship, dated and documented.

New

threads/search: orderBy=relevant | post_dated | engagement

Keyword search can now reorder the fetched Meta Top page. relevant (default) keeps query ranking; post_dated sorts by publishedAt newest-first; engagement sums likes+replies+reposts+quotes+views. Unknown values are 400. Sorts the returned window — not a second Threads index.

  • orderBy on /v1/threads/search (default relevant)
  • Envelope echoes the canonical orderBy name
New

Creator trust layer: createTime, verification triad, tipjar contact{}, cacheMaxAge

Account trust signals that make Creator Verification / Partnership Qualification real. TikTok channel-details and popular-creators now expose createTime / createTimeUnix (account age), bioLink{link,risk}, ttSeller, commerce/organization flags, and contact{}. Twitter/X profile keeps blue / legacy / identity verification as separate bits (isBlueVerified != isLegacyVerified != isIdentityVerified), plus fastFollowers/normalFollowers, tipjarSettings -> contact{emails,paymentHandles,links}, and expanded bioUrls. New cacheMaxAge=1d|3d|7d|14d|30d on key profile endpoints; JSON envelope already includes cached + cachedAt on hits.

  • TikTok: createTime + bioLink.risk + ttSeller on channel-details / popular-creators
  • Twitter: isLegacyVerified + tipjar contact{} + fastFollowers
  • cacheMaxAge 1d-30d on TikTok/Twitter/Instagram profile endpoints
  • Envelope cached + cachedAt (not header-only)
New

TikTok Creative Center: popular-hashtags, popular-creators, popular-songs

popular-hashtags and popular-creators now read TikTok Creative Center charts (ads.tiktok.com/business/creativecenter) instead of sample co-occurrence / invented formulas — so videoCount is a real population total (not "17 from a 20-video sample") and engagementRate is TikTok's official interact rate when exposed. New GET /v1/tiktok/popular-songs adds popular|surging sounds with rankDiff, trend[] time series, and commercialMusic / ifCml for brand-safe audio. Flat 2 credits on the Creative Center path. Optional query= on popular-hashtags still runs the legacy related-tag co-occurrence enrich.

  • popular-hashtags: Creative Center chart + rankDiff + trend[] (flat 2 credits)
  • popular-creators: Creative Center first, then FYP / Apify fallthrough
  • New popular-songs: rankType, commercialMusic, trend[], rankDiff
  • country / period (7|30|120) / page / newOnBoard filters
New

GitHub user: email + parity fields, 1 credit, free-API note

GitHub user drops from 3 credits to 1 (matching ScrapeCreators) and adds email (when public), nodeId, apiUrl, hireable, and siteAdmin. type is now user or organization. Docs note that this wraps GitHub's free public REST API — use Captapi for one-key workflows; call api.github.com directly for GitHub-only jobs.

  • Price: 3 → 1 credit
  • Additive email, nodeId, apiUrl, hireable, siteAdmin
  • Honesty note: free GitHub API alternative for GitHub-only workloads
New

Pinterest pin-details: title, link, createdAt, originAuthor, images

Pinterest pin-details keeps board{}, author{}, image, and saves, and adds the fields needed for commerce and creator intel: title/description/seoAltText, link/destinationUrl, ISO createdAt, originAuthor vs author (pinner), repinCount/shareCount/reactionCount, and images{} including originals.

  • Additive title, description, seoAltText, link/destinationUrl, domain
  • Additive createdAt/publishedAt (ISO-8601 from pin page)
  • Additive originAuthor + images{236x,564x,originals} + repin/share/reaction counts
New

Google company-ads: cursor paging, date filters, adsCountEstimate

Google Ads Transparency company-ads keeps the 2-credit media[] response, and adds cursor pagination (nextCursor/hasMore), adsCountEstimate, region alias, and start_date/end_date overlap filters. Docs note public commercial creatives only — login-gated and political ads are out of scope.

  • Additive hasMore / nextCursor / adsCountEstimate
  • New params: cursor, region, start_date, end_date (topic=all only)
  • Honesty note: public ATC creatives only; shapes can vary
New

Richer Facebook details: author id, SD/HD, captions, music (non-breaking)

Facebook details keeps every existing field (videoUrl, author.username, engagement), and adds stable author.id, feedbackId, captionsUrl, videoSdUrl/videoHdUrl, video dimensions, nested video{}, and music when Facebook exposes them. Docs note that some Reel view counts on the post page can lag the public Reels grid badge.

  • Additive author.id + feedbackId
  • Additive captionsUrl, videoSdUrl/videoHdUrl, videoWidth/videoHeight, video{}, music{}
  • Docs warning for Reel view-count badge mismatch vs profile Reels grid
New

YouTube channel-details: email + SEO tags (non-breaking)

YouTube channel-details keeps every existing numeric/stats field, and adds email (from About/description when publicly exposed) and tags[] from channel SEO keywords. CAPTCHA-gated business emails stay null.

  • Additive email when present in channel About/description or mailto links
  • Additive tags[] from channelMetadataRenderer keywords (list, not a comma string)
  • Existing subscriberCount/videoCount/viewCount numbers, handle, verified, links unchanged
New

Richer TikTok Shop product-details (non-breaking)

TikTok Shop product-details keeps price as a float + currency, and now returns seller id/url, originalPrice/discount, description, skus[], and optional region for the Apify path. Related affiliate videos remain best-effort when upstream provides them.

  • seller.id / seller.url restored (were stripped in details mode)
  • originalPrice, discount, description, skus[], images[], region param
  • Native path still bills 2 credits; Apify fallback remains 14
New

Facebook Ad Library search: filters + richer ads (non-breaking)

Facebook Ad Library search keeps every existing ad field your integrations already parse (including media[] and string spend/impressions), and adds the filters and structured fields needed for competitor intel. Default status is ACTIVE so results match what advertisers are running now.

  • New filters: status, media_type, ad_type, search_type, sort_by, start_date, end_date (max limit 200 documented)
  • Additive ad fields: isActive, publisherPlatforms, cards[], images[], videos[], spendRange/impressionsRange, pageLikeCount, disclaimer/byline, fetchedAt
  • searchResultsCount / hasMore / nextCursor on the response (cursor paging deferred); docs note spend/impressions are usually political/issue-only
New

Richer Instagram channel-details (non-breaking)

Instagram channel-details keeps every existing field your integrations already parse, and adds the IDs and account flags needed for joins, outreach, and private-account detection. externalUrl and profileImage are unchanged; bioLinks and profileImageHd are additive.

  • New id and fbid for stable Instagram user identity
  • isPrivate, isBusinessAccount, isProfessionalAccount, categoryName
  • bioLinks[], profileImageHd, businessAddress when present, plus fetchedAt
New

Richer TikTok channel-details (non-breaking)

TikTok channel-details keeps every existing field your integrations already parse, and adds stable IDs, account age, commerce/seller flags, and bio-link risk for vetting and joins. category, private, and exact follower counts are unchanged.

  • New id and secUid for stable TikTok identity and chaining
  • createTime, uniqueIdModifyTime, nickNameModifyTime for account-age and takeover signals
  • isCommerceUser, isSeller, isOrganization, isAdVirtual, bioLinkRisk, friendCount/diggCount, avatar sizes, privacy settings, fetchedAt
New

Richer YouTube and TikTok video-details responses

YouTube and TikTok video-details now return the fields teams need for joins, media pipelines, and filtering — without dumping a raw platform blob. Existing keys are unchanged; new fields are additive.

  • YouTube: channelHandle, contentType/isShort, liveStatus, availableCaptions[], thumbnails[], descriptionLinks[], language and access flags, fetchedAt
  • TikTok: authorId/secUid, musicId/musicAuthor/isOriginalSound, mediaType, videoUrl/downloadUrl/downloadUrlNoWatermark, mentions[], status flags, isAd/isCommerce, region/width/height, mediaUrlsExpireAt, fetchedAt
  • TikTok engagement.isApproximate marks rounded legacy counters vs exact statsV2 counts
New

Report a bug from any API page

A Report a bug button on every API docs page and in the dashboard lets you flag a wrong response, an error, or something slow in a couple of clicks.

  • Modal form with an endpoint picker (prefilled on API pages), a description field, and an optional email for logged-out users
  • Reports are linked to your account automatically when you're signed in — no need to type your details
  • Sits next to "Try it" on each API page and in the dashboard sidebar
New

Optional cache bypass with ?cache=false

Endpoints with a 24-hour cache (transcripts, AI summaries, and Spotify catalog details) now accept an optional cache query parameter. It defaults to true, so existing behaviour is unchanged.

  • Pass cache=false to skip the cache and always fetch fresh data; the fresh result still refreshes the shared cache
  • Bypassed calls bill normal credits, cached calls remain free
  • Available on YouTube/Shorts, TikTok, Instagram, Facebook and Twitter/X transcript & summarize endpoints, plus Spotify artist/track/album/podcast
  • Documented on every endpoint page and exposed in the MCP, CLI and n8n catalogs
New

language parameter on transcript & summarize endpoints

Pin the speech language and control the summary output language on YouTube, TikTok, and Instagram.

  • transcript?language=tr pins Whisper's language - recommended for short clips where auto-detection is unreliable
  • summarize?language=tr also writes the summary, key points, and topics in that language (default stays English)
  • Documented on the endpoint pages and synced to the MCP, CLI, n8n, and Playground catalogs
New

Integrations hub at /integrations

A dedicated page listing every official integration with setup guides, plus a hover dropdown in the navbar.

  • MCP Server (hosted + local), TypeScript & Python SDKs, CLI, n8n, Make.com, Apify Actor, and the REST API in one place
  • Each card links to its setup guide and npm/PyPI package
  • Machine-readable manifests highlighted for AI agents (/mcp.json, /llms.txt, OpenAPI 3)
New

Official TypeScript & Python SDKs

Typed clients generated from the same catalog that powers the API, MCP server, and CLI.

  • npm install @captapi/sdk — zero dependencies, works on Node 18+, Deno, Bun, and edge runtimes
  • pip install captapi — sync (Captapi) and async (AsyncCaptapi) clients on httpx
  • A typed, namespaced method for every endpoint; errors always throw with status + code
  • x-api-key header now accepted as an alias for Authorization: Bearer
New

Public status page

Live API health at /status, computed from real production traffic — not a manually flipped switch.

  • GET /v1/status (no auth) returns overall and per-platform success rates and response times over the last 24 h
  • Human view at captapi.com/status refreshes every 2 minutes
New

Batch endpoint (POST /v1/batch)

Run up to 20 endpoint calls concurrently in a single HTTP request.

  • Per-item status and per-item billing — one failed item never fails the batch
  • Cached items are free, exactly like single calls
  • Ideal for enriching lists of profiles or videos in one round-trip
New

Automatic metric history (GET /v1/history)

Follower, view, and like counts now accumulate into a time series automatically whenever tracked profile or post endpoints are fetched fresh.

  • Chart growth without building your own snapshot pipeline
  • Covers profile and details endpoints across YouTube, TikTok, Instagram, X, Reddit, Bluesky, Twitch and more
  • Query by endpoint + URL with a configurable window (up to 365 days)
New

Monitors + HMAC-signed webhooks

Point a monitor at any list-returning endpoint and get only new items POSTed to your webhook — no polling loops on your side.

  • POST /v1/monitors: watch subreddit posts, channel videos, ad-library searches and more on your schedule (15 min to 24 h)
  • Deliveries are HMAC-SHA256 signed (X-Captapi-Signature over timestamp.body) so you can verify authenticity
  • POST /v1/monitors/{id}/test sends a signed test delivery
  • Runs bill credits exactly like direct API calls; cached results stay free
New

Platform landing pages + APIs dropdown

Every platform got a dedicated landing page with endpoint lists, FAQ, and structured data; the navbar now opens the full API catalog.

New

Captapi launch

One API for structured public social-media data: transcripts, AI summaries, comments, profiles, search, and downloads.

  • REST API with Bearer auth, credit-based billing, and cached-result discounts
  • Dashboard with API keys, playground, usage analytics, and billing
  • SEO/AEO foundation: llms.txt, structured data, programmatic docs

Try what's new

Start with 100 free credits — no credit card required.