Browsable Browsable Docs

TikTok hashtag

Fetch public hashtag metadata and a paginated slice of rendered public videos for a TikTok hashtag.

POST /v1/tiktok/hashtag

Request Parameters

Name In Type Required Description
hashtag body string Yes TikTok hashtag, with or without the leading #.
cursor body string No Zero-based pagination cursor returned as next_cursor from the previous response.
max_videos body integer No Maximum number of public videos to collect from the rendered page.

Response Structure

Async kickoff response

Polled run result response

Sync response

Declared output schema

Code Examples

Async + polling

RUN=$(curl -s -X POST "https://api.browsable.app/v1/tiktok/hashtag" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"hashtag":"tiktok","cursor":"30","max_videos":30}')
RUN_ID=$(echo "$RUN" | jq -r '.run_id')
POLL_DELAY=3
while true; do
RESULT=$(curl -s -H "Authorization: Bearer YOUR_API_KEY" "https://api.browsable.app/v1/runs/$RUN_ID")
STATUS=$(echo "$RESULT" | jq -r '.run_status')
if [[ "$STATUS" =~ ^(succeeded|failed|errored|cancelled|canceled|expired)$ ]]; then
echo "$RESULT"
break
fi
sleep "$(awk "BEGIN { print $POLL_DELAY * (0.9 + ($RANDOM % 21) / 100) }")"
POLL_DELAY=$((POLL_DELAY < 30 ? POLL_DELAY * 2 : 30))
[ "$POLL_DELAY" -gt 30 ] && POLL_DELAY=30
done

Sync

curl -X POST "https://api.browsable.app/v1/tiktok/hashtag" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"hashtag":"tiktok","cursor":"30","max_videos":30,"_run":{"async":false}}'