crewai-transcriptapi
TranscriptAPI: hosted YouTube transcript + video-discovery API for AI agents. CrewAI tools edition. Also available as an n8n community node, an MCP server and agent skills.
This package gives CrewAI agents two tools over TranscriptAPI:
- TranscriptAPITool: fetch the transcript of any YouTube video (full URL, youtu.be, Shorts, or bare ID) as plain text or timestamped JSON, with metadata. The hero tool: 1 credit per call.
- TranscriptAPISearchTool: search YouTube for videos or channels to discover content before fetching transcripts. 1 credit per page.
Installation
pip install crewai-transcriptapi
Credentials
You need a TranscriptAPI key (starts with sk_):
- Create an account at transcriptapi.com: 100 free credits, no card (one-time); paid plans from $5/mo (1,000 credits).
- Create an API key on the dashboard.
- Export it:
export TRANSCRIPTAPI_API_KEY="sk_..."
Usage
from crewai import Agent
from crewai_transcriptapi import TranscriptAPITool, TranscriptAPISearchTool
researcher = Agent(
role="Video researcher",
goal="Find and summarize YouTube content on a topic",
backstory="Researches spoken video content via transcripts.",
tools=[TranscriptAPISearchTool(), TranscriptAPITool()],
)
The agent can then search for videos on a topic and fetch each transcript for summarizing, quoting, translating or analysis.
Tool reference
TranscriptAPITool
| Argument | Type | Default | Description |
|---|---|---|---|
video_url |
str | required | Full YouTube URL (watch, youtu.be, embed, Shorts) or bare 11-character video ID |
output_format |
str | "text" |
"text" for plain transcript, "json" for timestamped segments |
language |
str | none | Optional preferred transcript language code, for example "es" |
TranscriptAPISearchTool
| Argument | Type | Default | Description |
|---|---|---|---|
query |
str | required | Search query, 1 to 200 characters |
search_type |
str | "video" |
"video" or "channel" |
Response envelope
Both tools return a stable JSON string and never raise:
{"success": true, "data": {"transcript": "...", "metadata": {"title": "..."}}}
{"success": false, "error": {"code": "out_of_credits", "message": "The account is out of credits. See https://transcriptapi.com/billing."}}
Error codes: missing_api_key, invalid_api_key, out_of_credits, not_found, rate_limited, network, bad_response, http_<status>. Failed calls are never charged.
Resources
- TranscriptAPI documentation
- Pricing
- Family: n8n node · MCP server · agent skills
Disclosure
TranscriptAPI is an independent product and is not affiliated with or endorsed by YouTube or Google. Use of these tools is subject to the TranscriptAPI terms.
License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file crewai_transcriptapi-0.1.0.tar.gz.
File metadata
- Download URL: crewai_transcriptapi-0.1.0.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dba1372ea0cc9ead0861241c196de5163efae1d1f7c895070e595100707b1c81
|
|
| MD5 |
5a9fa5eb8ec63c381e8f57fe2f9946d7
|
|
| BLAKE2b-256 |
2e844c9bb49c56a450f345db113c7b917d4a88990d8104f2b2537f2ffce78571
|
File details
Details for the file crewai_transcriptapi-0.1.0-py3-none-any.whl.
File metadata
- Download URL: crewai_transcriptapi-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3b3cd9b4d2d109c3af26447221c181c914c4dc634aa718ba98ba01b28f1e8e1
|
|
| MD5 |
a5ad96841fba2b3d99cce7fa8434cd8d
|
|
| BLAKE2b-256 |
701c55fc40a31db218660131eaa52e399e5de181b73ec6eee39f00898c0dcdc5
|