Universal Transcriber - Video, Audio & Podcast to Text avatar

Universal Transcriber - Video, Audio & Podcast to Text

Pricing

from $7.00 / 1,000 results

Go to Apify Store
Universal Transcriber - Video, Audio & Podcast to Text

Universal Transcriber - Video, Audio & Podcast to Text

Turn any video, audio file or podcast feed into clean, timestamped text with automatic language detection.

Pricing

from $7.00 / 1,000 results

Rating

0.0

(0)

Developer

Maged

Maged

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Paste any link — a video, an audio file, a podcast, a news article, a documentation page or a PDF — and get back clean, AI-ready text. One input, one consistent output, whatever the link turns out to be. No API key, no account with any transcription service, no uploads.

What does Universal Transcriber & Content Extractor do?

Give it a list of links and it returns the content as structured data: the full text of each item plus every paragraph or spoken line as its own row, ready for embedding, search, summarisation or feeding straight into an AI pipeline.

It works out what each link is and handles it accordingly:

  • Video pages — returns the spoken words, with timestamps.
  • Direct audio and video files — MP3, M4A, MP4, WAV, OGG, OPUS, FLAC and more, from any public URL: webinars, interviews, lecture captures, call archives.
  • Podcast feeds — paste an RSS feed and the newest episodes are pulled and transcribed automatically.
  • Articles and web pages — news, blogs, documentation and wikis come back as clean body text with the navigation, ads, cookie banners and footers stripped out.
  • PDFs — papers, reports, manuals and whitepapers are read page by page.

You do not have to sort your links first, or know which kind each one is. Mix them freely in a single run. Every row comes back in the same shape, tagged with what it turned out to be, so one downstream pipeline handles all of it.

Every link returns a row — always. Many publishers refuse automated readers. When the first attempt is refused, the Actor escalates through harder retrieval routes, and if the content still cannot be reached it returns what the page and its address do reveal: publisher, title, date, summary and topic words. Each row states exactly how much was obtained in a contentLevel field — full, partial, metadata or none — so an AI can trust the good rows and know not to treat a refusal page as an article.

Results land in an Apify dataset you can export as JSON, CSV, Excel or HTML, pull through the API, schedule to re-run, or wire into Make, Zapier, Google Sheets and n8n.

Why use Universal Transcriber & Content Extractor?

  • One tool instead of four. Most pipelines bolt a transcription service to an article extractor to a PDF parser. This replaces all of them with a single step and a single output format.
  • Feed AI, RAG and agents. Text arrives pre-chunked into paragraphs and spoken lines — the unit embeddings actually want — so there is no splitting step to write.
  • Research and monitoring. Track what competitors, analysts and public figures publish and say, across formats, on a schedule.
  • Content repurposing. Turn talks, episodes, posts and reports into newsletters, summaries, show notes and social clips.
  • Subtitles and search inside media. Timestamped lines become SRT/VTT, or let you jump to the exact moment a phrase was said.
  • Accessibility and compliance. Produce text records of published media, meetings and briefings.

How to use Universal Transcriber & Content Extractor

  1. Click Try for free and open the Input tab.
  2. In URLs, paste one link per line — videos, media files, podcast feeds, articles and PDFs can all go in together.
  3. Leave Link handling on Auto unless you want to force a particular reading (see Tips).
  4. Pick a quality level for anything that has to be transcribed from audio. Balanced suits almost everything.
  5. Click Start, then open the Output tab and export as JSON, CSV, Excel or HTML.

To keep a site, channel or podcast permanently captured, use Schedules to re-run it and send new rows straight to your database, spreadsheet or AI workflow.

Input

FieldTypeDescription
urlsarrayRequired. Any mix of video links, media files, podcast feeds, articles and PDFs.
linkHandlingstringauto (default), article to always read page text, or media to always transcribe.
qualitystringfast, balanced (default) or accurate. Applies to audio transcription only.
languagestringTwo-letter code (en, es, de, ar…). Empty = detect automatically.
usePublishedCaptionsbooleanUse the publisher's own transcript when one exists. Default true.
maxMinutesPerItemintegerStop after N minutes of each recording. 0 = no limit.
maxCharactersPerItemintegerCap the text taken from each article or PDF. 0 = no limit.
maxEpisodesPerFeedintegerNewest episodes to take from each feed. Default 5.
outputTranscriptsbooleanPush one full-text row per item. Default true.
outputSegmentsbooleanPush one row per paragraph or spoken line. Default true.
proxyConfigurationobjectProxy used for requests.
{
"urls": [
"https://www.youtube.com/watch?v=jNQXAC9IVRw",
"https://en.wikipedia.org/wiki/Large_language_model",
"https://arxiv.org/pdf/1706.03762",
"https://example.com/recordings/all-hands-q3.mp3",
"https://feeds.example.com/my-favourite-podcast"
],
"linkHandling": "auto",
"quality": "balanced",
"maxEpisodesPerFeed": 5
}

Output

Two row types share one dataset, separated by entityType and by the ready-made views on the Output tab. Every row carries a sourceType (video, audio, article or pdf) so you can tell at a glance what each link turned out to be. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

A transcript row — one per item, holding the complete text:

{
"entityType": "transcript",
"sourceType": "article",
"sourceUrl": "https://en.wikipedia.org/wiki/Large_language_model",
"title": "Large language model - Wikipedia",
"author": null,
"publishedAt": "2023-03-09",
"durationSeconds": null,
"pageCount": null,
"language": null,
"text": "A large language model (LLM) is an AI model trained on a vast amount of text...",
"wordCount": 13447,
"segmentCount": 478,
"error": null,
"transcribedAt": "2026-09-15T11:02:18.441Z"
}

A segment row — one per paragraph or spoken line. Spoken lines carry timestamps; paragraphs leave them empty:

{
"entityType": "segment",
"sourceType": "video",
"sourceUrl": "https://www.youtube.com/watch?v=jNQXAC9IVRw",
"title": "Me at the zoo",
"index": 0,
"startSeconds": 1.2,
"endSeconds": 3.36,
"text": "All right, so here we are, in front of the elephants",
"language": "en",
"transcribedAt": "2026-09-15T11:02:18.441Z"
}

Data fields

FieldDescription
contentLevelHow much was obtained: full (body text), partial (structured body), metadata (title, summary, date) or none (address only)
retrievedViadirect for a live fetch, archive when a public archive copy supplied it
sourceTypeWhat the link turned out to be: video, audio, article or pdf
siteNamePublisher the link belongs to
descriptionThe page's own summary, where it publishes one
topicsTopic words taken from the address — present even when a site returns nothing
titleTitle of the video, episode, article or document
authorChannel, byline or document author, where published
publishedAtPublication date of an article, where published
durationSecondsLength of the audio transcribed (media only)
pageCountNumber of pages (PDFs only)
languageDetected or requested language code
textFull content (transcript rows) or the single line/paragraph (segment rows)
startSeconds / endSecondsPosition of a spoken line, for subtitles and jump-to-moment links
wordCount / segmentCountSize of the result, handy for cost and quality checks
errorPlain-language reason when an item could not be read

Billing is per result, so what you use follows how many rows you actually extract. Articles and PDFs are the lightest — there is no audio to process — and media with a published transcript is nearly as light.

RunRoughly
A long article or a 15-page PDF100–500 rows
A 10-minute video with a published transcript~120 rows
A 10-minute recording transcribed from audio~120 rows
5 podcast episodes, 45 minutes each~2,700 rows

Every Apify account includes free monthly usage, enough to try it on several links at no cost. Turn outputSegments off to store one row per item instead of one per paragraph.

What happens when a site blocks automated readers

Some publishers serve a "verify you are human" page, a paywall stub or an error page instead of their content — and those pages extract as perfectly clean prose, so a naive reader stores them as if they were the article. This Actor never does that.

  1. It fetches the page the way a browser does, which is enough for most sites.
  2. If refused, it retries over a route that negotiates the connection the way a real browser does. This alone recovers the majority of sites that reject ordinary automated traffic.
  3. If still refused, it looks for a public archived copy of the page.
  4. If the body genuinely cannot be reached, it falls back to the page's own structured data, then its published summary.
  5. Failing all of that, it returns the publisher, the topic words and the date carried by the address itself.

Refusal, paywall and error pages are recognised and graded none rather than being passed off as content. A run never fails because of one stubborn link.

Tips

  • Let Auto do the work. It reads a news article as text and a video page as speech without being told. Use article only when a page holds both a video and an article you want, and media when a player page is being read as text.
  • Cap long items. maxMinutesPerItem and maxCharactersPerItem stop the work at the limit rather than trimming afterwards, so they genuinely cut run time and cost.
  • Start at fast. On clear speech the fast tier is already accurate and noticeably quicker. Move to accurate only for difficult audio.
  • Keep published transcripts on. It is the single biggest speed and cost saver for media that has them.
  • Batch generously. One run with fifty links is cheaper and simpler than fifty runs.
  • Switch to Residential proxy for media without a published transcript. When an item has to be transcribed from its audio, some sources refuse datacenter traffic and the item comes back with an error. Selecting Residential resolves it.

FAQ

What links work? Video pages, direct audio/video files, podcast RSS feeds, articles, blog posts, documentation pages and PDFs. Anything reachable at a public URL is worth trying; links that cannot be read come back with a clear message instead of failing the run.

Do I need an API key or an account anywhere? No. There is nothing to sign up for and no key to paste.

How does it decide whether a link is an article or a video? Automatically, from what the link actually serves. Pages that are mostly a player are transcribed; pages that are mostly prose are read as text. If a particular link is read the wrong way, the Link handling setting forces either behaviour.

Is the article text clean? Yes — navigation, ads, cookie banners, sidebars and footers are removed, leaving the body content. Pages built entirely in JavaScript may return only their summary.

How do I know whether a row is real content? Check contentLevel. Only full and partial carry the body; metadata carries the page's own summary; none means the site served nothing and the row holds only what the address reveals. Filter on it before embedding.

A link came back with contentLevel: none — what now? A handful of publishers (major paywalled newspapers especially) serve nothing at all to automated readers, and no setting changes that. The row still tells you the publisher, the date and the topic of the link. Trying the Residential proxy is worth one attempt; beyond that, the content is not publicly reachable.

Why does an item come back empty? It held no recognisable speech (music-only tracks are the usual case), or the page had no readable body text. The row tells you which.

An item failed but the link works in my browser — why? Some sources only serve their media to residential traffic. Switch the proxy setting to Residential and re-run.

Can it transcribe a live stream? No — a live feed has no end. Point it at the recording once the stream has finished.

What about PDFs without a title? Many PDFs carry no title metadata, so those rows are named after the file. The text is unaffected.

Is this legal? The Actor reads publicly available content and returns it as text. You are responsible for how you use the output and for complying with applicable law, copyright and the terms of the sites you point it at.

Support

Hit a link that comes back wrong, or want another format supported? Open an issue on the Issues tab with the URL — coverage is extended based on what users actually paste. Custom versions and higher-volume setups are available on request.