Scrape the TikTok ad library by keyword

From Apify, through Joshu Data Bodega.

Price
$0.0033 per call$3.30 per 1,000 calls

No calls measured in the last 30 days.

Prices include the router's 10% markup and are paid from the usage wallet. Checked on November 11, 2026.

Inputs

  • sortstring, optional

  • ad_idstring, optional

    fetch one specific ad

  • limitinteger, optional

    results to return; pair it with maxTotalChargeUsd

  • offsetinteger, optional

  • regionstring, optional

    ISO country code or 'all' (the default). TikTok's library is a DSA transparency database, so coverage is EU/EEA/UK-centric — and per the actor's own input schema it REJECTS region=US; pass 'all' to include US ads

  • searchstring, required

    keyword or advertiser name to search the ad library for

  • timeoutinteger, optional

    treg's key requires 1-90 so the run and its rows arrive before any wait gives up (a larger pull needs your own key)

  • end_datestring, optional

    YYYY-MM-DD

  • maxItemsinteger, optional

    optional row cap; pay-per-event actors that take the row count from their own input ignore it, so maxTotalChargeUsd is the spend limit

  • query_typestring, optional

    which field `search` is matched against: '1' = advertiser name (the actor's DEFAULT), '0' = keyword. A keyword passed without query_type:'0' is matched as an advertiser name and finds nothing

  • start_datestring, optional

    YYYY-MM-DD

  • adv_biz_idsstring, optional

    advertiser business id, to pin the search to one advertiser instead of a keyword

  • maxTotalChargeUsdnumber, optional

    the spend cap Apify enforces on every event this run bills, in dollars. treg's key requires it, above 0 and at most 1, and holds it for the call

Call it

Router call with a router API key
curl https://hello.joshu.me/api/router/call \
  -H "Authorization: Bearer $JOSHU_ROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "endpoint": "apify.tiktok-ads.library.search",
    "params": {
      "limit": 1,
      "offset": 0,
      "region": "all",
      "search": "nike",
      "timeout": 90,
      "maxItems": 1,
      "query_type": "1",
      "maxTotalChargeUsd": 0.05
    }
  }'