trawl-sdk
v0.1.5
Published
TypeScript SDK for the Trawl unified content API
Readme
@trawl/sdk
The official TypeScript SDK for the Trawl API — extract transcripts from YouTube, podcasts, TikTok, earnings calls, SEC filings, news, and academic papers.
Install
npm install @trawl/sdkQuick Start
import { TrawlClient } from "@trawl/sdk";
const client = new TrawlClient({ apiKey: "trawl_your_key" });
// Search YouTube
const results = await client.search.youtube("machine learning", 5);
results.results.forEach((v) => console.log(`${v.title} — ${v.channel}`));
// Extract a transcript (no auth needed)
const preview = await client.transcripts.preview("https://youtube.com/watch?v=dQw4w9WgXcQ");
console.log(`${preview.segments.length} segments`);
// Bulk download as ZIP
const zip = await client.bulk.download(["dQw4w9WgXcQ", "9bZkp7q19f0"], "jsonl");All Resources
const client = new TrawlClient({ apiKey: "trawl_your_key" });
// YouTube
client.search.youtube(query, maxResults?)
client.transcripts.extract(url, language?)
client.transcripts.preview(url) // No auth
client.transcripts.download(id, format?)
client.bulk.download(videoIds, format?) // No auth
// Podcasts
client.search.podcasts(query, maxResults?)
client.podcasts.episodes(podcastId)
client.podcasts.transcribe(audioUrl, options?)
// Earnings
client.earnings.search(ticker)
client.earnings.getTranscript(ticker, year, quarter)
// SEC Filings
client.filings.search(ticker, formType?)
// News
client.news.search(query, language?, country?)
client.news.getArticleText(url)
// Papers
client.papers.search(query, source?)
client.papers.extract(arxivId?, doi?)
// AI
client.ai.summarize(transcriptId)
client.ai.topics(transcriptId)
client.ai.entities(transcriptId)
client.ai.previewSummarize(text) // No auth
// Jobs
client.jobs.get(jobId)
client.jobs.list()Error Handling
import { AuthenticationError, RateLimitError, NotFoundError } from "@trawl/sdk";
try {
await client.transcripts.extract("invalid-url");
} catch (e) {
if (e instanceof RateLimitError) {
console.log(`Retry after ${e.retryAfter}s`);
} else if (e instanceof AuthenticationError) {
console.log("Invalid API key");
}
}TypeScript
Full TypeScript support with exported interfaces:
import type {
TranscriptResponse,
SearchResponse,
SearchResult,
TranscriptSegment,
PaperResult,
} from "@trawl/sdk";Requirements
- Node.js 18+ (native
fetch) - TypeScript 5+ (optional)
