Search words in audio
Give it a recording and a list of words, and it returns every mention with its exact timestamp, so a reviewer listens to the seconds that matter instead of the full hour. Built for calls, podcasts and press conferences. Pay per use, no subscription.
Run it online
Run this on our servers with your account. Free tools run in your browser; this one bills your KIT balance per the price above.
Scrubbing through an hour of audio to find the one moment someone said a name or a product term is a waste of anyone's afternoon.
Keyword spotting instead of a full transcript
Audio cannot be skimmed the way a page can. Compliance teams, journalists and podcast editors used to transcribe everything and then search the text, which works but adds a full transcription step and its cost even when all you need is three timestamps. Keyword spotting, the method broadcasters and call centers have used for years, skips that detour. It listens only for the terms you list, so the effort goes into detecting them rather than writing down every word of a two-hour call.
Where the timestamps go next
Each result names the term that matched and where it occurs in the recording, so you can build a clickable index, a jump-to-mention player or a highlight reel. Typical uses are flagging regulated terms in recorded calls so a reviewer hears only the relevant seconds, indexing every time a guest or product appears across a podcast archive, and finding the exact moment a spokesperson said a phrase in a long press conference. Choose the question carefully: this tool answers whether and when specific words occur, not what was said overall.
The problem with long recordings
Audio is opaque to search in a way text never is: you cannot skim a two-hour call the way you skim a page. Compliance teams, journalists and podcast editors have historically solved this by transcribing everything first and searching the text, which works but adds a full transcription step and cost even when all you need is three timestamps.
A close cousin of keyword spotting
This is the same underlying idea broadcasters and call centers have used for years under the name 'keyword spotting' — a lighter, faster alternative to full transcription when you only care whether and when specific terms occur. Because it does not need to transcribe every word in the recording, it can focus computation on detecting your target list, which is exactly the right tool when the question is 'did they mention the product name' rather than 'what did they say for two hours.'
What you can do with it
Compliance keyword flags
Scan recorded calls for specific regulated terms and get timestamps so a reviewer only listens to the seconds that matter.
Podcast mention finder
Search an archive of episodes for every time a guest or product name was mentioned to build a searchable mention index.
Newsroom quote sourcing
Locate the exact moment a spokesperson said a specific phrase in a long press-conference recording without listening start to finish.
FAQ
Is there a free trial for the audio keyword search?
There's no free tier — free tiers get abused and slow everyone down. No subscription, no tokens, no invented credits, and a failed task is never charged.
Can I search for multiple keywords at once?
Yes, you submit a list of keywords or phrases in a single request and get back timestamps for every match across the list.
Can I bulk-search a large audio archive?
Yes, submit one request per file and each is queued independently, so you can process an archive in parallel and collect timestamps as results complete.
How is this different from transcribing the recording?
It does not write down every word. It listens only for the terms you give it, which makes it lighter and faster when the question is whether and when a name was said, not what the whole conversation covered.
What does the audio search result show?
Every match, with the term that was found and its timestamp in the recording. The results are ready through a secure link that stays valid for 24 hours, and a task that fails after automatic retries is never charged.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/audio/search \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"audio":"https://ejemplo.com/audio.mp3","keywords":["precio","entrega"]}'const res = await fetch("https://api.kit.forhosting.com/audio/search", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"audio": "https://ejemplo.com/audio.mp3",
"keywords": [
"precio",
"entrega"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/search",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"audio": "https://ejemplo.com/audio.mp3",
"keywords": [
"precio",
"entrega"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/search", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"audio":"https://ejemplo.com/audio.mp3","keywords":["precio","entrega"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"audio":"https://ejemplo.com/audio.mp3","keywords":["precio","entrega"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/search", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"audio": "https://ejemplo.com/audio.mp3",
"keywords": [
"precio",
"entrega"
]
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.search",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Limits
max_mb | 200 |
max_minutes | 180 |
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
422 | task_failed | The task failed after 3 retries. You are never charged for it. |
Technical notes
This audio search API listens for the words you specify and returns every occurrence with a precise timestamp, so you jump straight to the moment instead of hunting for it.
The problem with long recordings
This endpoint skips that detour — it listens directly for the keywords or phrases you give it and reports back where in the audio each one occurs.
What you send and what comes back
You submit the audio file along with the list of keywords or phrases to spot; the task queues asynchronously and returns a task_id immediately. When processing finishes, results arrive by signed webhook or a signed link valid for 24 hours, listing each match with its timestamp in the recording and the matched term, so you can build a clickable index or jump list without manually scrubbing anything.
Fitting it into a pipeline
Pricing is a flat per-request base plus a per-minute rate on the audio's length, so a five-minute clip costs a fraction of a sixty-minute one, and a failed task, after automatic retries, is never billed. Teams typically call this endpoint right after a recording lands — a support call, a podcast upload, a compliance recording — and use the returned timestamps to drive a highlight reel, a compliance flag, or a jump-to-mention player.
Access and data handling
The endpoint requires prepaid balance, same as the rest of the API; without it, requests return HTTP 402 rather than degrading quietly. Uploaded audio and search results are removed once the retention window passes and are never used to train models — you receive exactly the timestamps you asked for, through your webhook or a temporary signed link, and nothing is retained beyond that.
Integration use cases
Support call spot-checks
Find every call where a competitor's name came up so a sales team can review those specific moments.
Technical questions
How does the audio search API find keywords?
It listens directly to the audio for the specific words or phrases you provide and returns a timestamp for every occurrence, without producing a full transcript.
What formats does the audio search API accept?
It accepts standard compressed and uncompressed audio formats commonly produced by recording and call-center systems.
How is the audio search API priced?
It costs $0.002 per request plus $0.0055 per minute of audio, so cost scales directly with the recording's length.
How accurate is keyword spotting compared to full transcription?
It is optimized to detect the terms you specify reliably, but it is not a transcript; for full readable text of everything said, use a transcription endpoint instead.
How do I get the results back?
The task runs asynchronously and returns a task_id right away; matches with timestamps are delivered via a signed webhook or a signed link valid 24 hours.