Loom Transcript Scraper: API-fast Metadata & Text avatar

Loom Transcript Scraper: API-fast Metadata & Text

Pricing

from $0.66 / 1,000 loom video scrape results

Go to Apify Store
Loom Transcript Scraper: API-fast Metadata & Text

Loom Transcript Scraper: API-fast Metadata & Text

Extract Loom video metadata and full transcripts (plain text, VTT, SRT) at scale. HTTP-only, API-fast, no browser overhead. Drop-in for Zendesk, HubSpot, Slack. Get clean text in seconds. Skip alternatives with high compute cost. $0.01 per video.

Pricing

from $0.66 / 1,000 loom video scrape results

Rating

0.0

(0)

Developer

GetAScraper

GetAScraper

Maintained by Community

Actor stats

0

Bookmarked

9

Total users

6

Monthly active users

5 days ago

Last modified

Share

Get Loom video transcripts, engagement stats, and full metadata ready for your spreadsheet in under 60 seconds.

Point this scraper at any public Loom share URL. It returns the plain-text transcript, timestamped caption segments, SRT and VTT subtitle files, view counts, comment counts, thumbnail, creator details, and the video download link. No login required.

What does this actor do?

This actor reads public Loom videos and returns everything stored on the page: the native transcript in four formats, rich metadata (title, description, privacy status, thumbnail), and engagement data (views, unique viewers, comments, emoji reactions). It runs fast with no browser, no login, and no AI transcription delays.

If a video has no native transcript, the transcriptStatus field is set to unavailable and the run still completes with all available metadata.

Who uses this?

  • I am a customer success manager recording Loom walkthroughs for our clients. I need transcripts to publish as Zendesk help articles without paying a transcription service per video.
  • I am a content marketer repurposing 50 product demo Looms into SEO blog posts. I need clean plain text I can paste into my CMS without manually watching each video.
  • I am a compliance officer auditing our internal Loom library to confirm every customer-facing video has an accessible caption file (SRT or VTT) before our WCAG audit.
  • I am an AI engineer building a Loom-to-knowledge-base pipeline. I need timestamped transcript segments I can chunk and embed into a vector database for semantic search.
  • I am a product manager archiving sprint review Looms. I need full metadata (creator, date, view count, description) alongside the transcript so I can cross-reference with Jira tickets.

How to use

  1. Create a free account at apify.com if you do not have one.
  2. Open this actor and click Try for free.
  3. Paste one or more public Loom share URLs into the Loom video URLs field.
  4. Choose which transcript formats to include (plain text and segments are on by default).
  5. Click Save & Run.
  6. Download results from the Output tab in JSON, CSV, or Excel.

Input

FieldTypeRequiredDescription
startUrlsarray of URLsYesPublic Loom share URLs or bare 32-character video IDs.
transcriptFormatsarrayNoFormats to include: txt, segments, srt, vtt. Defaults to ["txt", "segments"].
skipVideosWithoutTranscriptbooleanNoSkip videos with no native captions entirely. Default: false.
includeEngagementStatsbooleanNoInclude view count, unique viewers, comments, and emoji reactions. Default: true.
includeVideoDownloadUrlbooleanNoInclude a direct MP4 download link when available. Default: true.
maxVideosintegerNoHard cap on videos processed per run. Set to 0 for no limit.
requestConcurrencyintegerNoNumber of videos to fetch in parallel. Default: 5. Decrease if you see rate-limit errors.
proxyConfigurationproxyNoProxy settings. Datacenter proxies work well for Loom. Default: Apify datacenter.

Data table

FieldTypeDescription
loomIdstringUnique 32-character Loom video ID.
urlstringPublic Loom share URL.
titlestringVideo title as set by the creator.
descriptionstringCreator-written video description.
privacystringVisibility setting: public, team, or private.
thumbnailUrlstringVideo thumbnail image URL.
creatorNamestringDisplay name of the video creator.
ownerIdstringCreator's Loom user ID.
ownerEmailstringCreator's email address, when publicly visible.
viewCountintegerTotal view count.
distinctViewCountintegerUnique viewer count.
commentCountintegerNumber of comments.
emojiCountintegerNumber of emoji reactions.
widthintegerVideo width in pixels.
heightintegerVideo height in pixels.
durationSecondsnumberVideo duration in seconds.
durationISO8601stringDuration in ISO 8601 format (e.g. PT5M55S).
createdAtstringISO 8601 timestamp when the video was recorded.
updatedAtstringISO 8601 timestamp of the last update.
uploadDatestringPublication date in YYYY-MM-DD format.
videoDownloadUrlstringMP4 download URL from page metadata when available. Signed URLs expire after a short period.
transcriptStatusstringWhether a native transcript was found: success or unavailable.
segmentCountintegerNumber of timed caption segments.
transcriptstringFull transcript as plain text. Included when transcriptFormats contains txt.
transcriptSegmentsarrayTimestamped array of {startSeconds, endSeconds, text} objects. Included when transcriptFormats contains segments.
transcriptSRTstringTranscript in SubRip subtitle format. Included when transcriptFormats contains srt.
transcriptVTTstringTranscript in WebVTT caption format. Included when transcriptFormats contains vtt.
scrapedAtstringISO 8601 timestamp when this record was extracted.

You can download the dataset in JSON, HTML, CSV, or Excel from the Output tab of any run.

Sample output

{
"loomId": "912e89a68ccc42c5ab5096fec7cd63d6",
"url": "https://www.loom.com/share/912e89a68ccc42c5ab5096fec7cd63d6",
"title": "Getting Started with Loom",
"description": "A quick walkthrough for new team members joining the onboarding flow.",
"privacy": "public",
"thumbnailUrl": "https://cdn.loom.com/sessions/thumbnails/912e89a6-00001.jpg",
"creatorName": "Chanel Lovell",
"ownerId": "a1b2c3d4e5f6",
"ownerEmail": "chanel@loom.com",
"viewCount": 3842,
"distinctViewCount": 2107,
"commentCount": 14,
"emojiCount": 23,
"width": 1920,
"height": 1080,
"durationSeconds": 355,
"durationISO8601": "PT5M55S",
"createdAt": "2023-08-19T00:19:41.112Z",
"updatedAt": "2023-09-02T14:30:00.000Z",
"uploadDate": "2023-08-19",
"videoDownloadUrl": "https://cdn.loom.com/sessions/raw/912e89a6.mp4?signature=abc123",
"transcriptStatus": "success",
"segmentCount": 87,
"transcript": "Hey, Chanel here from the Loom team. I'm going to show you how to get started with Loom...",
"transcriptSegments": [
{ "startSeconds": 1.154, "endSeconds": 4.774, "text": "Hey, Chanel here from the Loom team." },
{ "startSeconds": 4.774, "endSeconds": 7.704, "text": "I'm going to show you how to get started with Loom." }
],
"transcriptSRT": "1\n00:00:01,154 --> 00:00:04,774\nHey, Chanel here from the Loom team.\n\n2\n00:00:04,774 --> 00:00:07,704\nI'm going to show you how to get started with Loom.",
"transcriptVTT": "WEBVTT\n\n00:00:01.154 --> 00:00:04.774\nHey, Chanel here from the Loom team.\n\n00:00:04.774 --> 00:00:07.704\nI'm going to show you how to get started with Loom.",
"scrapedAt": "2026-06-29T12:00:00.000Z"
}

Pricing

Pricing is pay per result. You are charged only for videos that are successfully written to your dataset. Empty runs and failed requests cost nothing. There are no monthly subscriptions or minimum commitments.

Tips

  • Batch large libraries. Paste up to hundreds of URLs at once. Use maxVideos to run a sample first and confirm results before committing a full run.
  • LLM pipelines. Use the segments format to get pre-chunked text with start and end timestamps. Each segment maps cleanly to a vector database chunk without any additional splitting logic.
  • Subtitle workflows. Add srt or vtt to transcriptFormats if you need caption files for video players or accessibility tools. Both formats are included in the same run at no extra cost.
  • Unavailable transcripts. Loom only generates native transcripts for videos where the creator enables captions. If transcriptStatus is unavailable, the video likely has captions disabled. The actor still returns all available metadata for that video.

FAQ

Does this actor work on private Loom videos?

No. This actor only reads public Loom share URLs accessible without a login. Videos set to "private" or restricted to a specific workspace return no data.

What happens if a video has no transcript?

The actor still extracts all available metadata (title, creator, views, thumbnail, dates) and sets transcriptStatus to unavailable. You are not charged for runs where the transcript extraction fails.

How fresh is the data?

Every run fetches live data directly from Loom. Results reflect the current state of the video page at the time of the run, including the latest view count, comment count, and any updated description.

This actor only reads publicly accessible Loom pages, the same pages any browser user can open without logging in. You are responsible for complying with Loom's terms of service and applicable data protection laws in your jurisdiction. For questions or custom solutions, contact the author at devanshtiwari365@gmail.com.