Search a creator's videos from your code.
One request: a creator's handle and the words you remember. Back come the videos where those words were spoken, each linking to the post on Instagram. Only spoken words are searched; captions and hashtags are not. Nothing is re-hosted.
Keys
A creator makes keys on their dashboard; a key searches that creator and nobody else. Keys are secrets: call from a server, a bot or a script, never from a web page, where anyone could copy it.
Authorization: Bearer wv_live_…Request
POST https://whichvid.io/v1/search
Content-Type: application/json
{ "creator": "greyapples1", "query": "steak ramen", "limit": 10 }creatorthe Instagram handle the key belongs to.querywhat you remember hearing, up to 200 characters. A quoted phrase asks for that exact wording.limitvideos to return, 1 to 10. Default 10.
The same call works as a GET: https://whichvid.io/v1/search?creator=greyapples1&q=steak+ramen
Response
{
"creator": "greyapples1",
"query": "steak ramen",
"strategy": "text",
"tookMs": 81,
"results": [
{
"videoId": "6e16d526-…",
"url": "https://www.instagram.com/reel/…/",
"postedAt": "2025-12-30T02:52:57.000Z",
"caption": null,
"snippet": { "text": "Let's make steak ramen. Step number 1…", "startMs": 0, "endMs": 5120 },
"score": 0.0328
}
]
}Results are ordered best first. snippet is the spoken passage that matched and where it sits in the video. score is relative within one response, not comparable across queries. An empty results means nothing was said that matches.
Errors
{ "error": { "code": "forbidden", "message": "This key can only search @greyapples1." } }401 unauthorizedmissing, unknown or revoked key.403 forbiddenthe key belongs to a different creator.404 unknown_creatorno such handle on WhichVid.400 invalid_requestthe message says which field.429more than 60 requests in a minute on one key. Wait and retry.
Example
curl -s https://whichvid.io/v1/search \
-H "Authorization: Bearer $WHICHVID_KEY" \
-H "Content-Type: application/json" \
-d '{"creator":"greyapples1","query":"steak ramen","limit":3}'Typical response time is under 200 ms. Searches made with a key show up on the creator's dashboard as API calls. Use of the API is covered by the terms of service.