To transcribe a city council meeting with speaker names, you need three things: the recording, a transcription pass that separates speakers, and a way to attach real names to those speakers that survives from one meeting to the next. On Audioscrape you upload the recording to a private workspace, it comes back split by speaker with timestamps, you name the council members once, and every later meeting in that workspace is labeled with the same names automatically. For many US jurisdictions the meetings are already transcribed and searchable at /gov.
Check whether it is already done
Audioscrape indexes public meetings of city councils, county boards and planning commissions as part of its public corpus. Start at /gov, pick the country and the body, and you get a register of meetings with speaker-attributed transcripts linked to the official recording. If your jurisdiction is there, you do not need to transcribe anything: search it, set an alert on a topic or a council member’s name, and cite the timestamps. If it is not there yet, or you need a body that is not public (an internal committee, a work session that was recorded but not published), use your own workspace.
How to do it with Audioscrape
1. Get the recording. Meetings are usually published as video on the municipality’s own portal or on YouTube as public record. Download the file you have the right to use, or note its direct URL. Accepted formats include mp3, wav, m4a, mp4, webm, ogg and flac; video is decoded to audio on upload.
2. Create a workspace and an uploads dataset. Sign in (Google or Microsoft, no passwords), open your workspace dashboard at /workspaces/{your-slug}/dashboard, and drag the file onto the upload box. The dashboard posts to the workspace’s uploads dataset. If you prefer the API: POST /api/datasets/{id}/items with either a multipart audio field or a JSON body with audio_url (an https URL that is publicly reachable at upload time). Full reference: Upload API.
3. Wait for processing. Uploads are batch processed. A successful upload returns an item_id immediately; the transcript, speaker separation, entity extraction and search indexing happen in the background, typically at one to three times real time. Poll GET /api/items/{id} or, from an MCP client, get_transcription_status. An email lets you know when it is done.
4. Name the speakers. Open the finished transcript. Speakers arrive as separated but unnamed voices. Name each council member, the clerk and the city manager once. This is the enrollment step: Audioscrape keeps the voice identity in the workspace, so the next meeting you upload comes back with “Councilmember Rivera” already attached instead of “Speaker 3”. Public commenters will keep generic labels unless you name them, which is usually what you want.
5. Search, alert, cite. Every meeting is now searchable with speaker: "Name" and topic terms, from the website, from an AI assistant over MCP, or from the REST API. Set an alert on a project name or an agenda topic and get a digest, or a signed webhook on Pro and Enterprise, whenever a new meeting mentions it.
With an AI assistant. Connect Claude, ChatGPT or Cursor to https://mcp.audioscrape.com and say “Transcribe this meeting recording and tell me what each council member said about the zoning change”, pointing it at the file URL. The assistant uses transcribe_audio, polls get_transcription_status, then get_transcript and search_audio scoped to your workspace.
What you get
- Speaker-labeled segments with start and end timestamps, in the meeting’s actual running order.
- Named speakers that persist across meetings once enrolled.
- Entities extracted from the spoken text: people, organizations, places, projects.
- A source link for every quote, so a citation in a report or an article points to the exact second.
- Free accounts include 30 transcription minutes per month and a 200 MB per-file cap, enough to test on a short session. A typical council meeting runs two to four hours, so regular use needs a paid plan: Starter includes 300 minutes per month, Pro 1,500, and Enterprise contracts are scoped to your volume.
Limits and honest caveats
- Transcription is asynchronous, not live. You cannot caption a meeting while it is happening.
- Speaker separation is automatic and can split one person into two voices or merge two people in crosstalk. The transcript editor lets you fix labels, and the fix carries forward in the workspace.
- Accuracy drops with bad room audio, distant microphones and overlapping speech, which describes a lot of council chambers. Use the municipality’s direct feed rather than a phone recording when you can.
- Upload only recordings you have the right to use: public record recordings published by the body, or recordings you made with permission.
- Speaker names in the public /gov corpus are attributed by an evidence-gated classifier and can be reported and corrected.
Doing it by hand
For a single meeting, any diarizing transcription tool plus the published minutes will let you map “Speaker 1” to names manually. The cost shows up on meeting two, when you do it all again. Persisted speaker identity is the reason to use a workspace instead.
Plans and limits: /pricing. Facts for AI agents: /docs/for-agents.