Skip to content

Google Short Videos API

Query Google's short-form video surface (TikTok, Shorts, Reels) and receive structured results.

Endpoint

POST https://serpforai.dev/api/v1/search
GET  https://serpforai.dev/api/v1/search

Authentication is a bearer header carrying your API key:

Authorization: Bearer <userKey>

Set t: "google_short_videos". This is one of five Google vertical engines available on this API - see also Google Images, Google Shopping, Google Videos and Google News. For general web search use the SERP API.

Request parameters

POST requests send JSON; GET requests send the same fields as query parameters.

FieldTypeRequiredDefaultDescription
sstringyes-The search keyword
tstringyes-Must be google_short_videos
dnumberno5000Maximum time the API may spend, in milliseconds
countrystringno-ISO 3166-1 alpha-2 country code (e.g. us)
htmlnumberno01 includes the raw result-page HTML alongside data, 0 omits it

There is no p (page) parameter for this engine.

Response

{
  "code": 0,
  "msg": "",
  "data": {
    "id": "q_...",
    "short_video_results": [
      {
        "position": 1,
        "title": "...",
        "link": "https://...",
        "source": "...",
        "channel": "...",
        "duration": "0:34"
      }
    ]
  }
}
FieldDescription
code0 means success; anything else is a failure
msgHuman readable failure reason, empty on success
data.idOpaque search-session id
data.short_video_results[]Short-video rows - position, title, link, source, channel, duration

Unlike bing/google, data here is an object, not a bare array - read data.short_video_results, not data directly.

Example

curl -X POST https://serpforai.dev/api/v1/search \
  -H "Authorization: Bearer $SERPFORAI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"s":"quick pasta recipe","t":"google_short_videos","country":"us"}'
import httpx

response = httpx.post(
    "https://serpforai.dev/api/v1/search",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={"s": "quick pasta recipe", "t": "google_short_videos", "country": "us"},
    timeout=30,
)
payload = response.json()
for row in payload["data"]["short_video_results"]:
    print(row["title"], row["channel"])