# Changelog of Loom Video Scraper — Transcripts & Metadata (`blackfalcondata/loom-com-scraper`) Actor

- **URL**: https://apify.com/blackfalcondata/loom-com-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/blackfalcondata/loom-com-scraper.md

## Changelog

All notable changes to this Actor are documented here.

### \[Unreleased]

#### Added

- Loom video metadata and transcript extraction (title, owner, duration, view counts, created date, thumbnail, captions, chapters).
- `startUrls` support for Loom share and embed URLs.
- Per-result billing that honours the buyer's maximum cost per run.
- SRT and VTT subtitles (`transcriptSRT`, `transcriptVTT`) and speaker fields (`speakers`, `speakerCount`, `speakerSegmentGrouping`).
- `downloadVideo`: save each video's MP4 into the run's key-value store.
- `pageUrls`: scrape every Loom video embedded or linked on a web page; `startUrls` also accepts `{"url": ...}` objects and iframe embed code.
- With `emitExpired`, videos that disappeared are now delivered as EXPIRED rows.

#### Fixed

- `pageUrls`: a Loom link split across network chunks of a page is no longer missed or cut short, so a video still on the page is never reported as removed.
- `pageUrls`: a Loom link followed by a very long query string (over 1 MB) is no longer lost, so that video is not reported as removed either.
- Monitors whose pages are empty no longer fail with an input error on every run after their last videos were reported removed.
- Each video is fetched once; `includeDetails: false` now really skips transcripts and captions.
- One unreadable video no longer drops the rest of its page, and a run where nothing could be read now fails instead of reporting an empty result.
- Incremental runs keep scanning past unchanged videos until `maxResults` changes are found, and release their lock on every exit.
- Only real loom.com links are accepted; values that are not Loom videos are reported in the log.
- Page discovery only reads public web pages (private and internal addresses are refused, also after a redirect) and reads every page you give it in full, with no page or per-page video limit.
- An incremental run where one of your pages could not be read no longer marks that page's videos as expired; a page that now has no videos expires its old ones correctly.
- A search page where every video failed no longer ends the scan early.
- `startUrls` accepts `{"url": ...}` request objects through the API, as documented.
- Video downloads time out instead of hanging, an error page is never saved as a video, and compact rows keep the saved-video fields.
- A run that reads no videos at all no longer marks previously tracked videos as expired.

#### Changed

- More robust network reads: a stalled response no longer hangs the run.
- Link-expiry timestamps are now named `videoDownloadExpiresAt`, `captionsExpiresAt` and `transcriptExpiresAt`.
- A run started without any input now returns a ready-made set of 12 public Loom videos instead of a single one.

### \[0.1.0] — 2026-10-19

Initial release.

#### Added

- Scrape records from loom.com.
