<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[SavedThat Notes]]></title><description><![CDATA[Guides and data studies on saving videos and finding them again: search inside saved YouTube videos, Instagram Reels and TikToks by what was said. From the team]]></description><link>https://savedthat.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6ac79684be6fc18870124923/2b3447da-a90d-4c3d-b8e1-85967a80f14b.png</url><title>SavedThat Notes</title><link>https://savedthat.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 04:52:51 GMT</lastBuildDate><atom:link href="https://savedthat.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Search inside saved videos by what was said (2026 guide)]]></title><description><![CDATA[TL;DR
To search inside saved videos you need transcript search — not title/tag search. YouTube, Instagram, and TikTok index URLs and titles, not what was actually said. Tools that auto-transcribe your]]></description><link>https://savedthat.hashnode.dev/search-inside-saved-videos-by-what-was-said-2026-guide</link><guid isPermaLink="true">https://savedthat.hashnode.dev/search-inside-saved-videos-by-what-was-said-2026-guide</guid><category><![CDATA[search]]></category><category><![CDATA[AI]]></category><category><![CDATA[video]]></category><category><![CDATA[Productivity]]></category><category><![CDATA[youtube]]></category><dc:creator><![CDATA[Alexey Polev]]></dc:creator><pubDate>Thu, 08 Oct 2026 16:11:12 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ac79684be6fc18870124923/5236cc58-d9a9-4700-802d-22102caff985.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>TL;DR</p>
<p>To <strong>search inside saved videos</strong> you need transcript search — not title/tag search. YouTube, Instagram, and TikTok index URLs and titles, not what was actually said. Tools that auto-transcribe your saved library and run hybrid semantic + full-text retrieval over the transcripts let you find any spoken moment by paraphrase. Four such tools exist in 2026.</p>
<p>You watched a great YouTube interview six months ago. Someone said something that stuck — a specific phrase about pricing strategy, or a particular study they cited. Now you need it. You open your "Watch later" list and scroll. Past 200 videos. Past dozens of cooking clips you saved by accident. The video is there somewhere, you just can't tell which one.</p>
<p>This is the failure mode every video bookmark tool has had since the YouTube favourites button shipped in 2005. <strong>Bookmarks save the URL. They don't save what was said.</strong> Searching them is searching titles, which are SEO-optimised marketing taglines, not what the video is actually about.</p>
<p>In 2026 you can do better. The technology to search inside the spoken content of every video you've saved — across YouTube, Instagram Reels, and TikTok, in any language — is now in commodity territory. This guide walks through how it works, the four real tools that do it, and how to set up the workflow end-to-end.</p>
<h2>Why you can't search inside saved videos today</h2>
<p>Three things are working against you.</p>
<p><strong>Titles are not content.</strong> A 90-minute podcast on "How we built a $40M ARR business" might be saved because the host's third question — at 38 minutes in — is the only thing you needed. The title doesn't know that. Neither does any tag you'd realistically add at save time.</p>
<p><strong>Memory of where you saw it decays fast.</strong> This is a well-documented gap between recognition and recall (<a href="https://www.nngroup.com/articles/recognition-and-recall/">NN/g on recognition vs recall</a>): you'll <em>recognise</em> the quote when you see it again, but you won't <em>recall</em> which platform it lived on. A few weeks later that "YouTube interview" might actually have been a Reel, and your platform-by-platform search ritual quietly fails.</p>
<p><strong>Transcripts exist but are scattered.</strong> The vast majority of YouTube uploads in major languages have captions, native or auto-generated. Instagram and TikTok auto-generate them at watch time. The transcripts are public. But each platform makes you search inside them one video at a time, after you've already opened the video — exactly when you don't know which video to open.</p>
<h2>What "searching inside saved videos" actually means in 2026</h2>
<p>Two distinct techniques are now mainstream, and most modern tools combine them:</p>
<p><strong>Full-text search (FTS).</strong> The classical approach: index every word of the transcript, then match the user's query as a literal substring or token. Fast, deterministic, easy to explain. Fails when the user remembers the <em>idea</em> but uses different words. If you search "what is the cost of customer acquisition" but the speaker said "how much do we pay to bring in a new customer," FTS will not find it.</p>
<p><strong>Semantic search via vector embeddings.</strong> Each chunk of transcript gets converted into a 768- or 1536-dimensional vector by a model like OpenAI's <code>text-embedding-3-small</code>. Your query is converted into the same kind of vector. The system returns chunks whose vectors are nearest in cosine distance. This works <em>across</em> phrasings, <em>across</em> languages, and even when the speaker used jargon you've never heard.</p>
<p>The state of the art in May 2026 is <strong>hybrid search with reciprocal rank fusion (RRF)</strong>: run both FTS and semantic search in parallel, then merge the rankings. Tools that ship hybrid retrieval consistently beat single-method ones in head-to-head evaluations (<a href="https://learn.microsoft.com/en-us/azure/search/hybrid-search-ranking">Microsoft Research, 2024</a>) because the two methods catch different failure modes — FTS nails exact-phrase recall, semantic catches paraphrased intent.</p>
<blockquote>
<p><strong>Tip</strong>
If a "searchable bookmarks" tool doesn't tell you which retrieval method it uses, assume it's keyword-only. The good ones brag about hybrid retrieval because it's the only way to handle "find the bit where they talked about how Stripe handles webhooks" reliably.</p>
</blockquote>
<h2>The four tools that do this in 2026</h2>
<p>There's no shortage of "save videos" apps. There's a small set that actually search transcript content. Here's the honest comparison.</p>
<table>
<thead>
<tr>
<th>Tool</th>
<th>Search type</th>
<th>Platforms</th>
<th>Free tier</th>
<th>Starts at</th>
</tr>
</thead>
<tbody><tr>
<td>SavedThat</td>
<td>Hybrid (semantic + FTS, RRF)</td>
<td>YouTube, Instagram, TikTok</td>
<td>First 5 videos, no card</td>
<td>$9.99/mo (Pro)</td>
</tr>
<tr>
<td>Glasp</td>
<td>FTS over highlights</td>
<td>YouTube only</td>
<td>Unlimited highlights</td>
<td>$0</td>
</tr>
<tr>
<td>Mem</td>
<td>Semantic, all content</td>
<td>Manual paste only</td>
<td>Trial</td>
<td>$8.33/mo</td>
</tr>
<tr>
<td>DIY (Whisper + pgvector)</td>
<td>Hybrid, you wire it</td>
<td>Anything you script</td>
<td>Free, self-hosted</td>
<td>Compute cost</td>
</tr>
</tbody></table>
<p>Each one optimises for something different.</p>
<h3>SavedThat — bookmark-first, search-native</h3>
<p><strong>Built around:</strong> the moment you save a video. Paste a YouTube/Instagram/TikTok URL, the system pulls the transcript, chunks it into ~18-second windows with 5-second overlap, embeds each chunk, and indexes both vectors and full-text. Search across your library returns the exact moment with a deep-link to that timestamp on the original platform.</p>
<p><strong>Strengths:</strong> the only one of the four that handles all three short-video platforms. Cross-user dedup means if you save a video someone else already saved, your library updates instantly with no extra credit cost. Hybrid retrieval is the default, not an upgrade tier.</p>
<p><strong>Trade-offs:</strong> you're paying for the transcription credits on Instagram and TikTok (YouTube transcripts are free to fetch). The first 5 free videos, plus the 7-day free trial on Pro, are enough to evaluate whether transcript search finds things you couldn't before.</p>
<h3>Glasp — for the YouTube highlight crowd</h3>
<p><strong>Built around:</strong> the active reader who watches with intent. Glasp lets you highlight specific sentences in YouTube transcripts as you watch, then search across only those highlights. It's been the dominant tool for the highlights workflow since <a href="https://glasp.co/about">it launched in 2021</a>.</p>
<p><strong>Strengths:</strong> zero cost, works without an account for one-shot exports, integrates with Readwise.</p>
<p><strong>Trade-offs:</strong> YouTube only — no Instagram, no TikTok. Search is keyword over highlights, not over the full transcript, so unhighlighted moments are invisible. You have to actively highlight; passive saves don't get the search benefit.</p>
<h3>Mem — semantic, but you do the saving manually</h3>
<p><strong>Built around:</strong> the AI-first note-taker. Mem ingests anything you paste — including YouTube transcripts — and runs semantic search across all of it via OpenAI embeddings.</p>
<p><strong>Strengths:</strong> broadest content scope. If your video bookmarks coexist with notes, articles, and Slack messages in one searchable surface, Mem is the cleanest answer.</p>
<p><strong>Trade-offs:</strong> no platform integrations. You paste the transcript yourself, manually. For prosumers who actually save 50+ videos a month, this is friction the math doesn't survive.</p>
<h3>DIY — Whisper + pgvector</h3>
<p><strong>Built around:</strong> the developer who wants the same thing without a SaaS subscription. Run <a href="https://github.com/openai/whisper">Whisper</a> locally to transcribe, store chunks in <a href="https://github.com/pgvector/pgvector">pgvector</a> on a Postgres instance you control, expose a search endpoint. Total bill of materials: a Mac mini, Docker, and ~10 hours of plumbing.</p>
<p><strong>Strengths:</strong> total control, no recurring spend, infinite saves.</p>
<p><strong>Trade-offs:</strong> infinite saves <em>for you</em> — sharing or accessing on mobile means more plumbing. Whisper is excellent for English but gets noticeably worse on Russian / Hindi / Arabic compared to commercial APIs that fine-tuned for those languages. And every new platform (Instagram added a redesigned reels API in March 2026; TikTok rotated their watermark format twice last year) is a maintenance ticket.</p>
<p>i</p>
<p>We built SavedThat because we tried the DIY route first and got tired of patching scrapers every six weeks. If you're a developer who enjoys that, ship the DIY version. If you'd rather paste a URL and get on with your work, use the hosted tools.</p>
<h2>Step-by-step: set up transcript search with SavedThat</h2>
<p>Eight minutes from sign-up to your first searched-and-found moment.</p>
<h3>1. Sign up and skip the empty state</h3>
<p>Open <a href="https://savedthat.app">savedthat.app</a> and sign up with email or Google. The onboarding overlay shows a paste field — drop in your first URL, or click <em>Try with a demo video</em> to load a canned 3-minute clip. Your first 5 videos are free, no card needed; after that, Pro is \(9.99/mo or \)71/year and starts with a 7-day free trial (card required).</p>
<h3>2. Paste a video URL</h3>
<p>The paste field accepts any of these formats:</p>
<ul>
<li><code>https://www.youtube.com/watch?v=...</code></li>
<li><code>https://youtu.be/...</code> (shortened)</li>
<li><code>https://www.youtube.com/shorts/...</code></li>
<li><code>https://www.instagram.com/reel/...</code></li>
<li><code>https://www.tiktok.com/@user/video/...</code></li>
</ul>
<p>Click <em>Save</em>. The video lands in your library within ~10 seconds for YouTube (transcript fetch is fast), 30–60 seconds for Instagram and TikTok (audio transcription is slower). If someone else has already saved that exact URL, yours appears instantly — we share the indexed transcript across users.</p>
<h3>3. Search by what was said</h3>
<p>Once you have at least one video, the ask field at the top of the library accepts free-text queries. Try one of these to see the difference between keyword and semantic:</p>
<ul>
<li><strong>Direct phrase</strong>: <code>"customer acquisition cost"</code> finds the exact mention.</li>
<li><strong>Paraphrased intent</strong>: <code>"how much does it cost to find new buyers"</code> — semantic search catches the same idea even though no word in the query appears in the transcript.</li>
<li><strong>Cross-language</strong>: <code>"стоимость привлечения клиентов"</code> in Russian — the multilingual <code>text-embedding-3-small</code> model maps Russian and English vectors close enough that an English transcript still matches.</li>
</ul>
<p>Each result shows the exact quote, the timestamp, and a deep-link that opens the original video at that second on the right platform.</p>
<h3>4. Use share links to come back later</h3>
<p>If you find a moment worth keeping or sending to someone, click <em>Share</em> on the result. SavedThat issues a short URL like <code>savedthat.app/s/abc123</code> that opens the original video at the timestamp directly — no SavedThat account required for the recipient.</p>
<h2>Edge cases worth knowing</h2>
<p><strong>Videos with no transcript.</strong> YouTube has captions for ~84% of uploads. Instagram/TikTok auto-generate from audio. When neither works (rare, mostly for music videos and silent montages), the save still appears in your library with the title and thumbnail — it's just not searchable until a transcript becomes available. Saves with no transcript don't count against your quota.</p>
<p><strong>Multilingual videos.</strong> Hybrid search is multilingual at the vector layer because OpenAI's embedding model was trained across 100+ languages. The full-text-search component does language detection per chunk and uses Postgres' tsvector with the right language config. A query in Russian against an English transcript will still hit semantic matches; the FTS bonus only kicks in when the query language matches the chunk language.</p>
<p><strong>Long videos.</strong> A 4-hour podcast becomes 800+ chunks. SavedThat caps single-video duration at 3h on Pro and 5h on Power — past that we'd be paying transcription costs that don't scale on the consumer pricing tiers. Hybrid search stays fast on large libraries because we use HNSW indexing on halfvec(768) embeddings; end to end, a search took a median of about 1.3 seconds in September 2026.</p>
<p><strong>Privacy.</strong> Transcripts and your save list live in your private library by default. Nothing is shared unless you explicitly issue a share link.</p>
<h2>The honest verdict: which transcript search tool to pick</h2>
<p>If you save more than five videos a month and at least once per quarter you find yourself thinking "I know I saw this somewhere" — SavedThat is built for you and it's the only one of the four with first-class Instagram and TikTok support. If you're a YouTube-only highlights person who likes annotating, Glasp is great and free. If you're a Mem power user who already lives there, paste in the transcripts and stay. If you're a developer who enjoys plumbing, the DIY stack is honest work.</p>
<p>Whichever you pick, the era of "I saved this somewhere" is ending. Search inside the videos, not around them.</p>
<h2>Frequently asked questions (2026)</h2>
<p><strong>Does YouTube already let you search inside videos you saved?</strong></p>
<p>YouTube's native search only matches video titles, descriptions, and tags from your Watch Later or saved playlists — not the spoken content. There is no built-in 'search across the transcripts of all my saved videos' feature. Third-party tools like SavedThat exist because YouTube's product roadmap has not prioritised this since at least 2020.</p>
<p><strong>Can I search Instagram Reels and TikTok bookmarks the same way?</strong></p>
<p>Yes, but you need a tool that fetches the audio transcript for those platforms — neither Instagram nor TikTok exposes a transcript API the way YouTube does. SavedThat uses Supadata to auto-transcribe Reels and TikToks at save time. Glasp and Mem only support YouTube; native Instagram/TikTok search inside your saves is not available without a third-party tool.</p>
<p><strong>How accurate is auto-generated transcription?</strong></p>
<p>For English in standard recording conditions, modern auto-captions hit roughly 95% word accuracy. For Russian, Spanish, Portuguese, and other languages with strong language-model coverage, 90–94% is typical. Heavy accents, music backing, and overlapping speakers still hurt accuracy. Search remains useful well below perfect transcription because semantic embeddings handle near-misses gracefully.</p>
<p><strong>What's the difference between full-text search and semantic search?</strong></p>
<p>Full-text search matches the literal words in your query against the words in the transcript. Semantic search converts both the query and the transcripts into numerical vectors that represent meaning, then returns the closest matches by cosine distance. Semantic search finds 'how much does it cost to acquire customers' when the transcript says 'CAC' or 'customer acquisition cost'; full-text would miss it. The best tools combine both.</p>
<p><strong>Will saved videos still work if the original is deleted from YouTube?</strong></p>
<p>The transcript and your bookmark stay in your library, but the deep-links point to the original platform — if YouTube removes the video, the link breaks. SavedThat keeps the transcript text indefinitely so search and quotes still work, but cannot replay the audio or video. For long-term archival of the actual media, you need a separate solution.</p>
<p><strong>Is this expensive at scale?</strong></p>
<p>On consumer plans, no. The bulk of the cost is one-time transcription at save (free for YouTube, paid per-Reel for Instagram/TikTok). Embeddings are pennies per 1,000 chunks via OpenAI's text-embedding-3-small. Storage of 768-dimension halfvecs in Postgres is on the order of 1.5KB per chunk. A 50,000-chunk personal library fits comfortably in a \(25/month Postgres instance — and on a hosted tool like SavedThat the unit economics are factored into the \)9.99 Pro tier.</p>
<hr />
<p><em>Originally published on the <a href="https://savedthat.app/blog/search-inside-saved-videos-2026">SavedThat blog</a>. SavedThat makes saved YouTube videos, Instagram Reels and TikToks searchable by what was said in them: <a href="https://savedthat.app">savedthat.app</a>.</em></p>
]]></content:encoded></item><item><title><![CDATA[What people actually save: a data study (2026)]]></title><description><![CDATA[TL;DR
What people actually save changed shape in four months. Across 558 videos, 622 saves and 358 searches on SavedThat: 76 percent of saves are now short-form (Reels, TikToks, Shorts), while YouTube]]></description><link>https://savedthat.hashnode.dev/what-people-actually-save-a-data-study-2026</link><guid isPermaLink="true">https://savedthat.hashnode.dev/what-people-actually-save-a-data-study-2026</guid><category><![CDATA[data analysis]]></category><category><![CDATA[data]]></category><category><![CDATA[search]]></category><category><![CDATA[Productivity]]></category><category><![CDATA[video]]></category><dc:creator><![CDATA[Alexey Polev]]></dc:creator><pubDate>Thu, 08 Oct 2026 16:09:23 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ac79684be6fc18870124923/4b85f493-02ad-460b-8947-eded2ddc649c.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>TL;DR</p>
<p>What people actually save changed shape in four months. Across 558 videos, 622 saves and 358 searches on SavedThat: 76 percent of saves are now short-form (Reels, TikToks, Shorts), while YouTube still holds 90 percent of the spoken words in the corpus. Search queries run five words long and 8 percent of them find nothing. Numbers as of September 2026.</p>
<p>Most writing about <strong>what people actually save</strong> is vibes. This is a query. In May 2026 we published the first snapshot at 119 videos; this is the same query re-run on 21 September 2026 against a corpus 4.7 times larger, and the headline finding has inverted.</p>
<p>Four findings, in order of how much they surprised us:</p>
<ol>
<li><strong>The platform mix flipped.</strong> In May, two-thirds of saves were YouTube. Today short-form is 76 percent of saves by count and YouTube is 24 percent.</li>
<li><strong>The flip changed nothing about the workload.</strong> YouTube is still 90 percent of the transcript text and 82 of the 89 hours of spoken content. People save many short videos and a few very long ones.</li>
<li><strong>Zero-result searches halved</strong>, from 16 percent in May to 8 percent over the last 90 days, without any change to the ranking code. The corpus grew into the queries.</li>
<li><strong>Roughly one save in eight is a duplicate</strong> of a video someone else already saved, which is a cost line, not a vanity metric.</li>
</ol>
<h2>The dataset behind what people actually save</h2>
<ul>
<li><strong>Videos analysed:</strong> 558 with status <code>ready</code>, takedowns excluded, as of 21 September 2026. Three rows sit in <code>failed</code> and are excluded.</li>
<li><strong>Bookmarks:</strong> 622, against 539 unique pieces of content (several users can save the same video; the transcript is stored once).</li>
<li><strong>Registered users:</strong> 121, of whom 52 have saved at least one video.</li>
<li><strong>Searches logged:</strong> 358 all time by 31 users; 119 of those in the last 90 days by 17 users.</li>
<li><strong>Indexed chunks:</strong> 24,899, of which 20,703 come from speech and the rest from visual understanding.</li>
</ul>
<p>Of the 558 ready videos, 439 arrived after the May snapshot. That is what makes this a re-run worth publishing rather than a rounding update: four-fifths of the data is new.</p>
<p>One caveat we are keeping front and centre. This is a young B2C product, and the cohort is self-selected. Patterns at 558 videos are directionally useful and statistically thin, and the platform mix in particular tracks who signed up this quarter.</p>
<h2>Platform mix: short-form won the count, YouTube kept the content</h2>
<table>
<thead>
<tr>
<th>Platform</th>
<th>Videos saved</th>
<th>% of saves</th>
<th>Median duration</th>
</tr>
</thead>
<tbody><tr>
<td>Instagram Reels</td>
<td>349</td>
<td>62.5%</td>
<td>0:46</td>
</tr>
<tr>
<td>YouTube</td>
<td>133</td>
<td>23.8%</td>
<td>21:28</td>
</tr>
<tr>
<td>TikTok</td>
<td>61</td>
<td>10.9%</td>
<td>1:26</td>
</tr>
<tr>
<td>YouTube Shorts</td>
<td>15</td>
<td>2.7%</td>
<td>0:52</td>
</tr>
</tbody></table>
<p>In May the same table read 66 percent YouTube and 28 percent Instagram. The reversal is real and it happened at a specific moment. Grouped by month, April and May saves ran roughly two YouTube videos for every Reel; from June onward Instagram alone has outnumbered YouTube every single month, peaking at 87 Reels against 4 YouTube videos in June. That is a statement about who signed up this summer, not about video. Medians are computed over the 539 videos where a duration is recorded; 19 videos, mostly Instagram, never returned one.</p>
<p>The medians are the part worth keeping. A saved Reel runs 46 seconds. A saved TikTok runs 86 seconds. A saved YouTube video runs 21 minutes and 28 seconds, and the mean is 39 minutes because a tail of two-hour podcasts pulls it.</p>
<h3>The ratio that decides the engineering</h3>
<p>Counts mislead, so measure the text instead. Summing the characters of every speech chunk in the corpus:</p>
<table>
<thead>
<tr>
<th>Platform</th>
<th>Transcript characters</th>
<th>% of spoken content</th>
<th>Hours of video</th>
</tr>
</thead>
<tbody><tr>
<td>YouTube</td>
<td>4,766,365</td>
<td>90.2%</td>
<td>82.2</td>
</tr>
<tr>
<td>Instagram Reels</td>
<td>385,872</td>
<td>7.3%</td>
<td>5.1</td>
</tr>
<tr>
<td>TikTok</td>
<td>118,960</td>
<td>2.3%</td>
<td>1.7</td>
</tr>
<tr>
<td>YouTube Shorts</td>
<td>12,297</td>
<td>0.2%</td>
<td>0.2</td>
</tr>
</tbody></table>
<p>One platform holds a quarter of the saves and nine-tenths of the words. That gap is why <strong>what people actually save</strong> is a misleading question on its own: by count this is a short-form product, by content it is a long-form one, and the two answers imply completely different indexes. A search hit is far more likely to land in a YouTube video than the save counts suggest, simply because that is where the sentences are.</p>
<h2>Duration: most saves are short, most minutes are not</h2>
<table>
<thead>
<tr>
<th>Duration bucket</th>
<th>Videos</th>
<th>% of total</th>
</tr>
</thead>
<tbody><tr>
<td>Under 1 minute</td>
<td>259</td>
<td>48%</td>
</tr>
<tr>
<td>1 to 10 minutes</td>
<td>185</td>
<td>34%</td>
</tr>
<tr>
<td>10 to 30 minutes</td>
<td>49</td>
<td>9%</td>
</tr>
<tr>
<td>30 to 60 minutes</td>
<td>22</td>
<td>4%</td>
</tr>
<tr>
<td>Over 1 hour</td>
<td>24</td>
<td>4%</td>
</tr>
</tbody></table>
<p>The bimodal shape we described in May is still there, but the lower hump has swallowed the distribution: nearly half of everything saved is under a minute. The 1 to 10 minute bucket, which we called the unowned middle in May, has grown from 24 percent to 34 percent and is now the second largest.</p>
<p>That middle bucket remains the one nobody builds for. YouTube's Watch Later treats an 8-minute explainer like a 90-minute lecture, and the highlight tools treat it like a 30-second clip. Neither is how people use it. If you save a lot of them, <a href="https://savedthat.app/blog/make-saved-youtube-videos-searchable-2026">making saved YouTube videos searchable</a> is the only retrieval path that scales, because nobody re-watches an 8-minute video to find one sentence.</p>
<h2>How people search what they saved: five words, and 8 percent find nothing</h2>
<p>Over the last 90 days, 17 users ran 119 searches. The shape of those queries:</p>
<ul>
<li><strong>Median query length: 5 words.</strong> The mean is 5.4 and the longest was 25 words.</li>
<li><strong>66 percent of queries are four words or longer.</strong> People type the sentence they half-remember, not a keyword.</li>
<li><strong>19 percent are single words</strong>, usually a topic rather than a quote.</li>
<li><strong>Average results returned: 10.2.</strong></li>
<li><strong>Zero-result searches: 9 of 119, or 8 percent.</strong> All time the figure is 13 percent.</li>
</ul>
<p>The zero-result rate halving since May is the number we would defend hardest, because we did not touch ranking to get it. A query fails for three reasons: the video was never saved, the transcript is thin, or the query language sits too far from the transcript language. The first cause shrinks automatically as libraries fill, which is most of what happened here.</p>
<p>The five-word median is the load-bearing fact for anyone building this category. Five-word paraphrases are exactly the queries a keyword index cannot serve, which is why the retrieval side is <a href="https://savedthat.app/blog/how-semantic-search-works-2026">hybrid rather than keyword-only</a>: a person who remembers "the bit about salting pasta water" is not going to guess the creator's title.</p>
<h2>The videos with nothing to transcribe</h2>
<p>Not everything that gets saved contains speech. Across the corpus, 30 of 558 videos, or 5.4 percent, came back with no usable spoken content: silent recipe montages, text-on-screen listicles, pure music.</p>
<table>
<thead>
<tr>
<th>Platform</th>
<th>Ready videos</th>
<th>No usable speech</th>
<th>Share</th>
</tr>
</thead>
<tbody><tr>
<td>TikTok</td>
<td>61</td>
<td>6</td>
<td>9.8%</td>
</tr>
<tr>
<td>Instagram Reels</td>
<td>349</td>
<td>23</td>
<td>6.6%</td>
</tr>
<tr>
<td>YouTube Shorts</td>
<td>15</td>
<td>1</td>
<td>6.7%</td>
</tr>
<tr>
<td>YouTube</td>
<td>133</td>
<td>0</td>
<td>0%</td>
</tr>
</tbody></table>
<p>Zero on long-form YouTube, one in ten on TikTok. This is the honest limit of transcript search, and it is why visual understanding exists in the index at all: 4,196 of the corpus chunks describe what is on screen rather than what was said. If a silent Reel is the thing you are hunting, the transcript is not going to save you, and any tool claiming otherwise is describing a demo rather than a library.</p>
<h2>Cross-user deduplication: one save in eight is a duplicate</h2>
<p>622 bookmarks point at 539 unique videos. That is 83 saves, 13 percent of the total, where the transcript and embeddings already existed because another user had saved the same video. The most-saved single video has 21 bookmarks. Average bookmarks per piece of content: 1.15.</p>
<p>The number is small and the effect is not. A duplicate save costs nothing: no transcript fetch from <a href="https://supadata.ai">Supadata</a>, no <a href="https://openai.com/api/pricing/">OpenAI embedding spend</a>, and the video appears in the new library in about a second instead of a minute. In May we predicted this rate would climb toward 70 percent at scale. Four months later it has barely moved, and the reason is visible in the platform table: short-form saves are long-tail. Two people rarely save the same Reel. The dedup effect concentrates on popular YouTube videos, so it will grow with the long-form share rather than with user count.</p>
<p>Being wrong about that in public is the point of publishing the methodology.</p>
<h2>What changed since May, and what it means</h2>
<p><strong>The category question is not "long or short", it is "both at once".</strong> Any tool that indexes only Reels will be fine on count and useless on the 90 percent of content that carries actual sentences. Any tool that indexes only YouTube misses half the saves. This is the argument we made in the <a href="https://savedthat.app/blog/ai-video-bookmark-managers-compared-2026">comparison of AI video bookmark managers</a>, and the corpus has since made it louder.</p>
<p><strong>Libraries get more searchable as they grow, not less.</strong> The zero-result rate fell while the corpus quadrupled. Retrieval quality in this category is a corpus problem before it is a model problem.</p>
<p><strong>Short-form saves are a personal archive, not a shared one.</strong> The flat dedup rate says the average Reel someone saves is not the one anybody else saved. That is a cost profile worth knowing before you build.</p>
<h2>What we will re-run</h2>
<p>Same query, same table format, at 1,000 videos and at 10,000, so the numbers diff cleanly against this snapshot and against May's. The three things we will be watching: whether the short-form share keeps climbing or reverts, whether the zero-result rate keeps falling as libraries fill, and whether the dedup rate stays flat now that we have a reason to expect it to.</p>
<p>Your first 5 videos on SavedThat are free, no card. After that, Pro is $9.99 a month: 300 saves a month, 3 hours per video, 100 hours of library. If you want to be in the next snapshot, <a href="https://savedthat.app/">start saving</a> and the numbers will count you.</p>
<h2>The raw numbers</h2>
<p>Everything above derives from this table, published so any claim is checkable against the source.</p>
<table>
<thead>
<tr>
<th>Metric</th>
<th>Value</th>
</tr>
</thead>
<tbody><tr>
<td>Videos with status ready</td>
<td>558</td>
</tr>
<tr>
<td>Videos in failed status (excluded)</td>
<td>3</td>
</tr>
<tr>
<td>Total user bookmarks</td>
<td>622</td>
</tr>
<tr>
<td>Unique content rows</td>
<td>539</td>
</tr>
<tr>
<td>Registered users</td>
<td>121</td>
</tr>
<tr>
<td>Users with at least one save</td>
<td>52</td>
</tr>
<tr>
<td>Searches logged, all time</td>
<td>358</td>
</tr>
<tr>
<td>Searches logged, last 90 days</td>
<td>119</td>
</tr>
<tr>
<td>Users who have searched, all time</td>
<td>31</td>
</tr>
<tr>
<td>Median query length</td>
<td>5 words</td>
</tr>
<tr>
<td>Queries of four words or more</td>
<td>66%</td>
</tr>
<tr>
<td>Zero-result searches, last 90 days</td>
<td>9 of 119 (8%)</td>
</tr>
<tr>
<td>Average results per search</td>
<td>10.2</td>
</tr>
<tr>
<td>Instagram Reels (ready)</td>
<td>349</td>
</tr>
<tr>
<td>YouTube (ready)</td>
<td>133</td>
</tr>
<tr>
<td>TikTok (ready)</td>
<td>61</td>
</tr>
<tr>
<td>YouTube Shorts (ready)</td>
<td>15</td>
</tr>
<tr>
<td>Median duration, Reels / TikTok / YouTube</td>
<td>46s / 86s / 21:28</td>
</tr>
<tr>
<td>Total hours of video indexed</td>
<td>89.2</td>
</tr>
<tr>
<td>Transcript characters indexed</td>
<td>5,283,494</td>
</tr>
<tr>
<td>Indexed chunks (speech / visual)</td>
<td>20,703 / 4,196</td>
</tr>
<tr>
<td>Videos with no usable speech</td>
<td>30 (5.4%)</td>
</tr>
<tr>
<td>Most-bookmarked single video</td>
<td>21 users</td>
</tr>
<tr>
<td>Average bookmarks per content row</td>
<td>1.15</td>
</tr>
<tr>
<td>Duplicate saves (dedup hit rate)</td>
<td>83 (13%)</td>
</tr>
</tbody></table>
<p>Snapshot taken 21 September 2026. Previous snapshot: 11 May 2026, 119 videos.</p>
<h2>Frequently asked questions (2026)</h2>
<p><strong>What do people actually save most: YouTube, Instagram or TikTok?</strong></p>
<p>By count, Instagram Reels: 349 of 558 videos in this corpus, or 62.5 percent, against 23.8 percent YouTube and 10.9 percent TikTok. By content, YouTube: it holds 90.2 percent of the transcript characters and 82 of the 89 hours indexed. Which platform 'wins' depends entirely on whether you count videos or minutes.</p>
<p><strong>Is 558 videos enough to draw conclusions from?</strong></p>
<p>It is enough to describe this corpus and not much more. The cohort is self-selected and small, so treat the platform mix as a fact about SavedThat's 2026 users rather than about video saving in general. The methodology and exact counts are published so the next snapshot at 1,000 videos is comparable.</p>
<p><strong>Why did the platform mix flip since the May snapshot?</strong></p>
<p>Audience, not behaviour. 439 of the 558 videos arrived after May, and the users who joined in that window save short-form. The switch is sharp in the monthly counts: YouTube led in April and May, Instagram has led every month since June, and TikTok only became a meaningful share from August.</p>
<p><strong>How long is a typical search query in a saved-video library?</strong></p>
<p>Five words at the median over the last 90 days, 5.4 on average, with 66 percent of queries at four words or more. That is paraphrase territory rather than keyword territory, which is why a plain keyword index tends to fail on this kind of library.</p>
<p><strong>How many saved videos have no usable transcript?</strong></p>
<p>30 of 558, or 5.4 percent. The rate is 9.8 percent on TikTok and 6.6 percent on Instagram Reels, and zero on long-form YouTube. Silent montages, text-on-screen posts and music-only clips are the usual cases, and visual indexing rather than transcripts is what makes those findable.</p>
<p><strong>How was 'spoken content volume' calculated this time?</strong></p>
<p>By summing the character length of every speech-derived chunk per platform, not by multiplying counts by average duration as the May snapshot did. It is a direct measure of indexed text, so the 90.2 percent figure is measured rather than estimated.</p>
<p><strong>Can I see the raw data?</strong></p>
<p>No. Saved videos and search queries are private user data and are not exportable. Every figure in this post is an aggregate count computed over anonymised rows, and nothing in the published table can be traced to an individual user or video.</p>
<hr />
<p><em>Originally published on the <a href="https://savedthat.app/blog/what-people-actually-save-data-study-2026">SavedThat blog</a>. SavedThat makes saved YouTube videos, Instagram Reels and TikToks searchable by what was said in them: <a href="https://savedthat.app">savedthat.app</a>.</em></p>
]]></content:encoded></item><item><title><![CDATA[Best video transcript search tools in 2026]]></title><description><![CDATA[TL;DR
A video transcript search tool turns the words spoken in a video into text you can query. In 2026 the useful ones split by source: SavedThat, Quiki and ReelRecall search videos you saved from Yo]]></description><link>https://savedthat.hashnode.dev/best-video-transcript-search-tools-in-2026</link><guid isPermaLink="true">https://savedthat.hashnode.dev/best-video-transcript-search-tools-in-2026</guid><category><![CDATA[search]]></category><category><![CDATA[AI]]></category><category><![CDATA[Productivity]]></category><category><![CDATA[video]]></category><category><![CDATA[tools]]></category><dc:creator><![CDATA[Alexey Polev]]></dc:creator><pubDate>Thu, 08 Oct 2026 15:17:58 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ac79684be6fc18870124923/018b36db-7f67-4e5b-abd6-852d7eb3c0f5.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>TL;DR</p>
<p>A <strong>video transcript search tool</strong> turns the words spoken in a video into text you can query. In 2026 the useful ones split by source: SavedThat, Quiki and ReelRecall search videos you saved from YouTube, Instagram and TikTok; Otter and Fireflies search meetings; Reduct and Trint search footage you are editing. Pick by where your video comes from.</p>
<p>Every video transcript search tool below does the same trick and then diverges hard. Speech becomes text, text gets indexed, you search it. What separates them is which videos they are allowed to read, and that single question decides whether a tool is useful to you or a waste of a subscription.</p>
<p>We build one of these, SavedThat, and we say so in its section. The rest are competitors, and several of them beat us for jobs we do not do.</p>
<h2>What a video transcript search tool has to do</h2>
<p>Transcription is the easy part now. Three harder things decide whether you find the thing.</p>
<p><strong>It has to reach your videos.</strong> A tool that transcribes uploads cannot read a Reel sitting in your Instagram Saved folder. Most disappointment in this category comes from buying a tool in the wrong column of the table below.</p>
<p><strong>It has to return moments, not files.</strong> In our own corpus, as of 30 September 2026, the median saved long-form YouTube video runs 22 minutes and 10 seconds, while the median saved Instagram Reel runs 48 seconds and the median TikTok 84 seconds. Handing back a 22-minute video as a search result is not an answer, it is homework.</p>
<p><strong>It has to survive a vague query.</strong> Across 144 searches run by 23 people in the 90 days to 30 September 2026, the average query was 5.2 words and two thirds ran to three words or more. People type half-remembered sentences, not keywords. Ten percent of those searches came back empty, which is the number any tool in this category should publish and almost none do.</p>
<p>One honest limit before the list: some videos have nothing to find. Of 641 processed videos in our corpus as of 30 September 2026, 71 have no usable speech, which is 12.4 percent of saved Reels and 17.7 percent of saved TikToks. Music and text on screen are not speech, and no transcript tool will ever index them.</p>
<h2>Video transcript search tools compared</h2>
<table>
<thead>
<tr>
<th>Tool</th>
<th>Searches speech in</th>
<th>Search type</th>
<th>Free tier</th>
<th>Paid from</th>
</tr>
</thead>
<tbody><tr>
<td>SavedThat</td>
<td>Saved YouTube, Reels, TikToks</td>
<td>Hybrid semantic plus full text</td>
<td>First 5 videos, no card</td>
<td>$5.92/mo billed yearly</td>
</tr>
<tr>
<td>Quiki</td>
<td>Saved TikToks, YouTube, Reels</td>
<td>Keyword over transcripts and summaries</td>
<td>Free forever, 10 scans a day</td>
<td>Credits from $9.99</td>
</tr>
<tr>
<td>ReelRecall</td>
<td>Saved TikToks, Reels, Shorts</td>
<td>Keyword over AI transcripts</td>
<td>14-day trial, no card</td>
<td>Price not published</td>
</tr>
<tr>
<td>Glasp</td>
<td>YouTube, only what you highlight</td>
<td>Keyword over your highlights</td>
<td>Free</td>
<td>Free core workflow</td>
</tr>
<tr>
<td>NotebookLM</td>
<td>Public YouTube with captions</td>
<td>Questions over sources you add</td>
<td>Free, up to 50 sources</td>
<td>Paid tiers exist</td>
</tr>
<tr>
<td>Raindrop Pro</td>
<td>YouTube pages you bookmark</td>
<td>Full text over saved content</td>
<td>Free, unlimited bookmarks</td>
<td>Pro tier, see site</td>
</tr>
<tr>
<td>Otter</td>
<td>Meetings it records</td>
<td>Keyword plus AI chat</td>
<td>300 minutes a month</td>
<td>$8.33 a month billed annually</td>
</tr>
<tr>
<td>Fireflies</td>
<td>Meetings it records</td>
<td>Keyword plus AI summaries</td>
<td>Unlimited transcription, 400 minutes of storage</td>
<td>$10 per seat billed annually</td>
</tr>
<tr>
<td>Reduct</td>
<td>Footage you upload</td>
<td>Transcript as the editing surface</td>
<td>14-day trial</td>
<td>$12 per editor a month</td>
</tr>
<tr>
<td>Trint</td>
<td>Media you upload</td>
<td>Keyword across a team archive</td>
<td>None published</td>
<td>Price behind sign-in</td>
</tr>
<tr>
<td>Whisper plus pgvector</td>
<td>Whatever you feed it</td>
<td>Whatever you build</td>
<td>Free software</td>
<td>Compute only</td>
</tr>
</tbody></table>
<h2>Transcript search tools for saved YouTube, Instagram and TikTok videos</h2>
<p>This is where most people who search for a video transcript search tool actually land: the video is already saved, on two or three platforms, and none of those platforms will search inside it.</p>
<h3>SavedThat</h3>
<p><strong>Built for</strong> the person who saves from YouTube, Instagram and TikTok and later remembers a phrase but not a title.</p>
<p><strong>How it works:</strong> paste a URL and the transcript is fetched automatically, YouTube through captions and Reels and TikToks through a provider. It is chunked into roughly 18-second overlapping windows, embedded, and indexed in Postgres with pgvector alongside a full-text index. A query runs vector similarity and full-text search in parallel and merges the two with reciprocal rank fusion, so an exact quote and a fuzzy paraphrase both land. Results are moments: a hit deep-links to the second the sentence was spoken.</p>
<p><strong>Price:</strong> the first 5 videos are free, no card. After that, Pro is $9.99 a month or $71 a year: 300 saves a month, videos up to 3 hours, and 100 hours of library. Power is $16.99 a month for 1,500 saves, 5-hour videos and 500 hours. Both start with a 7-day free trial.</p>
<p><strong>Where it does not fit:</strong> it is video-only by design. Articles, PDFs, threads and screenshots belong somewhere else, and meetings belong in Otter.</p>
<p><strong>Disclosure:</strong> we built it. Everything below this line is a competitor, described as fairly as we can manage.</p>
<h3>Quiki</h3>
<p><strong>Built for</strong> the heavy TikTok saver who wants automatic filing and no subscription.</p>
<p>Quiki scans a saved video, writes a summary, pulls keywords and files it into a category by itself. Search covers summaries, transcripts, tags and your notes, and there is a swipe feed over your own saves that is a better rediscovery idea than anything else in the category.</p>
<p><strong>Price, as of September 2026:</strong> a free forever tier with 10 scans a day across TikTok and YouTube, then credits from $9.99 per thousand (<a href="https://quiki.io/pricing">quiki.io/pricing</a>). Transcripts and Instagram Reels consume credits per video rather than arriving with the free tier, so clearing a 500-video Reels backlog is a real spend.</p>
<p><strong>The catch:</strong> keyword search over summaries is weaker than semantic search when the memory you are working from is vague.</p>
<h3>ReelRecall</h3>
<p><strong>Built for</strong> the short-form-only saver. The positioning is the sharpest in the category: search your saved TikToks, Reels and Shorts by what was said.</p>
<p>It transcribes saved short-form video, tags topics automatically, builds smart collections, and runs keyword search over the result. Coverage of 50 or more languages is claimed on the homepage.</p>
<p><strong>Price, as of September 2026:</strong> a 14-day free trial with no card. The site advertises that trial, but its pricing page returns a 404, so nobody can tell you what it costs afterwards (<a href="https://reelrecall.ai/">reelrecall.ai</a>). Ask before importing a library.</p>
<p><strong>The catch:</strong> the accuracy figures on the homepage are the vendor's own with no method published, and long YouTube videos are not the target.</p>
<h2>Apps that let you search YouTube videos by transcript</h2>
<p>YouTube is the one platform with a native answer, and it is worth knowing before you pay anyone.</p>
<p><strong>The free workaround that actually works.</strong> Open a video, click the three dots under it, choose Show transcript, then use your browser's find-in-page to search the panel. It is genuinely fast for one video and it costs nothing. It also collapses the moment you have 40 videos and cannot remember which one held the sentence, because there is no search across videos.</p>
<p><strong>Glasp</strong> puts the YouTube transcript beside the player so you can highlight sentences while you watch, then search across those highlights and push them to Readwise (<a href="https://glasp.co">glasp.co</a>). The core workflow is free and it is the best adaptation of book highlighting to video anyone has shipped. Two limits decide it: YouTube only, and you search the sentences you chose to highlight, so a video you saved and never watched carefully stays invisible. Our <a href="https://savedthat.app/compare/glasp">SavedThat vs Glasp comparison</a> has the detail.</p>
<p><strong>Raindrop Pro</strong> does full-text search of YouTube videos down to the spoken word (<a href="https://raindrop.io/pro">raindrop.io/pro</a>), which makes it the right pick when your library is mostly links and articles with YouTube as the video you care about. It does not reach Instagram Reels or TikTok.</p>
<p><strong>NotebookLM</strong> answers questions across sources you add, and public YouTube URLs are a supported source type. Google's own documentation is specific about the limits: only public videos with captions, videos uploaded in the last 72 hours may not import, videos without speech are not supported, and only the transcript is imported (<a href="https://support.google.com/notebooklm/answer/16215270">Gemini Notebook help</a>). Free accounts get up to 50 sources.</p>
<p><strong>Tools like NotebookLM for saved Reels and TikToks</strong> is a question AI assistants get asked constantly, and the answer is that the NotebookLM shape does not exist for short-form video, because Instagram and TikTok are not supported source types. A notebook is also a research project you assemble by hand, not a library that fills up as you save. If what you want is the question-answering feel over your own saves, the working set is SavedThat, Quiki and ReelRecall. Our <a href="https://savedthat.app/compare/notebooklm">SavedThat vs NotebookLM page</a> draws the line properly.</p>
<h2>Meeting and call transcript search: Otter and Fireflies</h2>
<p>If your transcripts come from Zoom and Google Meet rather than from saved videos, stop reading the first half of this page. These two are better at that job than anything above.</p>
<p><strong>Otter.ai</strong> joins the meeting, transcribes in real time, and lets you search and chat across the archive afterwards. Basic is free with 300 transcription minutes a month and three lifetime file imports; Pro is $16.99 a month, or $8.33 a month billed annually; Business is $30 a month, or $19.99 annually (<a href="https://otter.ai/pricing">otter.ai/pricing</a>). It does not index a YouTube URL, and pasting one will not get you a transcript.</p>
<p><strong>Fireflies.ai</strong> does the same recording job with revenue teams in mind: summaries, action items and push-to-CRM into HubSpot, Salesforce and Pipedrive. The free tier is unusual in 2026: unlimited transcription with 400 minutes of storage per team. Pro is $18 per seat a month, or $10 annually; Business is $29, or $19 annually (<a href="https://fireflies.ai/pricing">fireflies.ai/pricing</a>). Pick Fireflies over Otter when the transcript has to end up in a CRM, and Otter when you mostly want to search and ask.</p>
<h2>Transcript search inside an edit bay: Reduct and Trint</h2>
<p><strong>Reduct</strong> makes the transcript the editing surface. Delete a sentence in the text and the matching video disappears with it, which is still the fastest way anyone has built to cut a long interview into a short clip. Personal is $12 per editor a month with 120 pooled transcription hours a year, Professional is $40, and there is a 14-day trial with 5 hours of transcription included (<a href="https://reduct.video/pricing">reduct.video/pricing</a>).</p>
<p><strong>Trint</strong> aims at newsrooms and large content teams: high accuracy on difficult audio, version history, role-based access, redaction, and search scoped by permission across a team archive. An earlier version of this page quoted a starting price for it. We are removing that rather than repeating it, because Trint's plans now sit behind a sign-in at <a href="https://app.trint.com/plans">app.trint.com/plans</a> and we could not read them in September 2026. Ask for a quote before you plan a budget around it.</p>
<p>Neither tool is a bookmark search tool, and neither will help you find a Reel.</p>
<h2>DIY video transcript search with Whisper and pgvector</h2>
<p>The architecture every paid tool on this page uses is available to you directly: run Whisper or one of its faster forks to transcribe, chunk the output, embed the chunks, store them in pgvector on Postgres, and put a search endpoint in front. We walk through the whole thing in our <a href="https://savedthat.app/blog/make-saved-youtube-videos-searchable-2026">guide to making saved videos searchable</a>, and the retrieval half is explained in <a href="https://savedthat.app/blog/how-semantic-search-works-2026">how semantic search works</a>.</p>
<p><strong>Where it wins:</strong> no recurring cost beyond compute, every component swappable, and transcripts that never leave your hardware. For anyone with a compliance reason to keep audio in-house, this is the only option on the page.</p>
<p><strong>Where it hurts:</strong> maintenance. Every platform change is your ticket to fix, mobile access is more plumbing, and sharing with anyone else is a project of its own. Budget tens of hours to build and an hour or so a month to keep alive.</p>
<p>!</p>
<p>One rule worth keeping whichever route you pick: do not download the video file from YouTube to get a transcript. Captions are available through supported interfaces, and circumventing platform protections is the part of this workflow that carries legal risk rather than technical risk.</p>
<h2>The best AI tool to find a moment inside saved videos</h2>
<p>Match the source first, then optimise inside that group.</p>
<p><strong>You save videos from more than one short-form platform</strong> and want the exact moment back: SavedThat, Quiki or ReelRecall. Choose by pricing model more than by features, because the feature lists converge. SavedThat is a subscription with 5 free videos to start and semantic search, Quiki is pay-per-scan credits, ReelRecall is a trial into an unpublished price.</p>
<p><strong>Your videos are YouTube only:</strong> the native transcript panel for one video, Glasp if you highlight as you watch, Raindrop Pro if your library is mostly links, NotebookLM if you want to interrogate a fixed set of videos rather than search a growing library.</p>
<p><strong>Your transcripts come from meetings:</strong> Otter for search and chat, Fireflies when the CRM matters.</p>
<p><strong>You are cutting footage:</strong> Reduct. <strong>You run a newsroom:</strong> Trint.</p>
<p><strong>You want to own the stack:</strong> Whisper plus pgvector.</p>
<p><strong>A team building a large video library</strong> (research, content, creative ops): the same split applies, meetings to Otter or Fireflies, footage to Reduct or Trint, saved YouTube, Reels and TikToks to SavedThat. What works for teams today and what the team plan adds is on <a href="https://savedthat.app/teams">our teams page</a>.</p>
<p>The honest verdict for most readers who arrive on a "video transcript search tool" query: you are in the first group, the video is already saved, and the thing you are trying to buy is a way to ask a half-remembered question and get a 9-second answer back. That narrows the page to three names, and two of them cost nothing to try.</p>
<h2>Frequently asked questions (2026)</h2>
<p><strong>What is the best video transcript search tool in 2026?</strong></p>
<p>There is no single best one, because the tools split by which videos they can read. For videos you saved from YouTube, Instagram and TikTok, the working set is SavedThat, Quiki and ReelRecall. For meetings, Otter and Fireflies. For footage you are editing, Reduct. Match the source of your video first and the shortlist drops to two or three names.</p>
<p><strong>Are there apps that let you search YouTube videos by transcript for free?</strong></p>
<p>Yes. YouTube itself shows a transcript panel under any video with captions, and your browser's find-in-page searches it at no cost. Glasp is free for highlighting and searching what you highlighted. NotebookLM accepts public YouTube URLs with captions on its free tier. The free options all stop at searching one video at a time or only the parts you marked.</p>
<p><strong>Can Otter.ai or Fireflies search a YouTube video?</strong></p>
<p>Not from a URL. Both are built around recording meetings, and neither will fetch a YouTube link for you. Otter's free tier allows a small number of lifetime file imports, so you can upload an audio file manually, but there is no automated path from a video URL to a searchable transcript. For saved videos, use a tool from the first group on this page.</p>
<p><strong>Is there a NotebookLM alternative for Instagram Reels and TikToks?</strong></p>
<p>Not in the same shape. NotebookLM supports public YouTube URLs but not Instagram or TikTok links, and a notebook is a fixed research project rather than a library that grows as you save. The closest thing for short-form video is a saved-video search tool such as SavedThat, Quiki or ReelRecall, which transcribe what you save and let you query it later.</p>
<p><strong>Does transcript search work on videos with no speech?</strong></p>
<p>No, and this is the limit every vendor skips. In our own corpus of 641 processed videos, 71 have no usable speech: 12.4 percent of saved Reels and 17.7 percent of saved TikToks, as of 30 September 2026. Music, captions burned into the frame and silent demonstrations produce no transcript. Finding those needs visual analysis, which is a different feature from transcript search.</p>
<p><strong>Keyword search or semantic search: which matters more?</strong></p>
<p>Both, which is why hybrid retrieval exists. Keyword search wins when you remember the exact phrase, semantic search wins when you remember the idea. Real queries lean toward the second case: across 144 searches in our corpus over the 90 days to 30 September 2026, the average query ran 5.2 words and two thirds were three words or longer, which is sentence-shaped rather than keyword-shaped.</p>
<p><strong>Which transcript search platform works best for a large video library?</strong></p>
<p>It depends on where the video comes from. For recorded meetings, Otter or Fireflies. For raw footage in an edit, Reduct or Trint. For a large library of saved YouTube videos, Instagram Reels and TikToks, SavedThat indexes every spoken word and returns the moment with a timestamp across 24 languages (as of 30 September 2026); a shared team library is planned, and today teammates share links to exact moments.</p>
<p><strong>What should a transcript search setup cost in 2026?</strong></p>
<p>For personal saved-video search, zero to around $10 a month, since SavedThat Pro is $9.99 a month or $71 a year after 5 free videos and Quiki sells credits rather than a subscription. Meeting transcription runs $8 to $20 per seat a month on annual billing. Editing tools start at $12 per editor for Reduct. Enterprise transcription is quote-based. The do-it-yourself route costs nothing in software and tens of hours in setup.</p>
<hr />
<p><em>Originally published on the <a href="https://savedthat.app/blog/best-video-transcript-search-tools-2026">SavedThat blog</a>. SavedThat makes saved YouTube videos, Instagram Reels and TikToks searchable by what was said in them: <a href="https://savedthat.app">savedthat.app</a>.</em></p>
]]></content:encoded></item><item><title><![CDATA[How semantic search works (and why keyword search fails)]]></title><description><![CDATA[TL;DR
Semantic search works by converting text into high-dimensional vectors (embeddings) and finding nearby vectors instead of matching words. This solves the vocabulary mismatch problem — a query fo]]></description><link>https://savedthat.hashnode.dev/how-semantic-search-works-and-why-keyword-search-fails</link><guid isPermaLink="true">https://savedthat.hashnode.dev/how-semantic-search-works-and-why-keyword-search-fails</guid><category><![CDATA[Machine Learning]]></category><category><![CDATA[search]]></category><category><![CDATA[PostgreSQL]]></category><category><![CDATA[vector database]]></category><category><![CDATA[AI]]></category><dc:creator><![CDATA[Alexey Polev]]></dc:creator><pubDate>Thu, 08 Oct 2026 15:13:39 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ac79684be6fc18870124923/a0dd8f0d-6ec9-4db5-9f35-b501f1693ccf.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>TL;DR</p>
<p><strong>Semantic search</strong> works by converting text into high-dimensional vectors (embeddings) and finding nearby vectors instead of matching words. This solves the vocabulary mismatch problem — a query for "customer acquisition cost" finds a transcript that says "CAC" sixteen times. In 2026 the dominant approach is hybrid retrieval: vector similarity fused with full-text search via Reciprocal Rank Fusion.</p>
<p>Type "how much does it cost to acquire customers" into a saved-bookmarks search and watch nothing match. The video you're looking for is right there in your library — you saved it. The speaker said "CAC" sixteen times. Your search said "customer acquisition cost." The words don't overlap. The match fails.</p>
<p>This failure mode has a name: <strong>the vocabulary mismatch problem</strong>. It's why keyword search keeps losing, and it's why semantic search is now the default in every serious tool that searches anything text-shaped. Below: how semantic search actually works in 2026 — plain English, no math degree required — and why most consumer apps that ship "AI search" still get it wrong.</p>
<h2>The vocabulary mismatch problem in 60 seconds</h2>
<p>Old search systems matched literal strings. You typed <code>customer acquisition cost</code>, the system found documents containing those exact words. Documents that said "CAC" or "the cost of bringing in new buyers" or "what we pay per signup" stayed invisible.</p>
<p>In information retrieval research this has been measured for forty years. Typical vocabulary mismatch is somewhere around <strong>70-80%</strong>: people use different words for the same concept most of the time. If your search only matches literal strings, you miss four out of five relevant documents. That's a polite way of saying "keyword search has been broken since 1985."</p>
<p>Two things fixed it. The first is <strong>embeddings</strong>: a way to represent meaning as numbers, so two phrases that mean the same thing end up "close" even if they share no words. The second is <strong>vector databases</strong>: storage and indexes that can find the closest vectors fast, even when the corpus is millions of documents.</p>
<p>Together, they're what makes "semantic search" a thing.</p>
<h2>What an embedding is, plainly</h2>
<p>Take a sentence. Run it through a neural network. The network returns a list of numbers — typically 384, 768, or 1,536 of them. That list is the <em>embedding</em> of the sentence.</p>
<p>The trick is that the network is trained so that sentences with similar meanings produce similar lists. The literal example:</p>
<ul>
<li><code>"What is customer acquisition cost"</code> → embedding A</li>
<li><code>"How much do we pay to bring in a new customer"</code> → embedding B</li>
<li><code>"How are seagulls today"</code> → embedding C</li>
</ul>
<p>Embeddings A and B will be <strong>close</strong> in the 1,536-dimensional space they live in. C will be <strong>far away</strong>. Closeness is measured by cosine similarity — how aligned the two vectors are in that high-dimensional space. Numbers near 1.0 mean almost identical meaning; numbers near 0 mean unrelated.</p>
<p>You can think of it as plotting every phrase as a point in a 1,536-dimensional galaxy where direction encodes meaning. The actual coordinates are meaningless on their own — what matters is <em>which other phrases land near which</em>.</p>
<h3>The model that does this</h3>
<p>Several models are competitive in 2026. OpenAI's <code>text-embedding-3-small</code> ships 1,536 dimensions natively and supports <strong>Matryoshka representation</strong> (you can truncate to 768 or 256 dimensions for storage savings without retraining). Cohere's <code>embed-v3</code> is competitive on multilingual content. Open-source alternatives like <code>bge-large</code> and <code>nomic-embed-text</code> are within a few accuracy points and run on a Mac.</p>
<p>For multilingual workloads — like the videos SavedThat users saved, which span 24 languages as of 30 September 2026, with queries in any of them — <code>text-embedding-3-small</code> is currently the best balance of accuracy, cost, and dimensions. At SavedThat we use the 768-dimension Matryoshka truncation: half the storage, ~99% of the search quality. (<a href="https://arxiv.org/abs/2205.13147">Read more on Matryoshka representation</a>.)</p>
<h2>Why "just use AI" isn't the same as semantic search</h2>
<p>Plenty of consumer apps in 2026 advertise "AI search." Most of them mean one of three things:</p>
<ol>
<li><strong>Real semantic search</strong> — embeddings + vector retrieval, like described above.</li>
<li><strong>LLM-on-top of keyword search</strong> — the system runs a keyword search, gets results, then asks an LLM to rephrase or summarise them. The retrieval is still keyword-broken; the LLM just paints the failures.</li>
<li><strong>Pure LLM Q&amp;A</strong> — you ask a question, the LLM answers from its general training, your saved content is not consulted at all.</li>
</ol>
<p>Only the first one actually solves vocabulary mismatch on your data. The other two are productised but not useful for finding what <em>you</em> saved.</p>
<p>A quick diagnostic: if you can search for the <em>concept</em> and not find the document, but you can find it by searching for one of its specific words, the tool is doing #2 or #3 wrapped as "AI search." If you can find the document via paraphrase, it's #1.</p>
<h2>Vector databases: storing and finding embeddings fast</h2>
<p>Embeddings on their own don't help if you have to compare every query against millions of vectors one at a time. The full search of a 50,000-document index takes hundreds of milliseconds the naive way — way too slow for interactive use.</p>
<p>The fix is <strong>approximate nearest neighbour (ANN) indexing</strong>. Specialised data structures — HNSW (Hierarchical Navigable Small World), IVF, ScaNN — store vectors so the closest matches can be found in under 10 milliseconds even on libraries with tens of millions of vectors.</p>
<p>The current state of the art (May 2026) for production semantic search:</p>
<ul>
<li><strong>HNSW indexing</strong> is the most commonly deployed. Postgres has it via the <code>pgvector</code> extension; standalone vector DBs like Qdrant, Pinecone, and Weaviate all use HNSW or close variants. SavedThat runs HNSW on <code>pgvector</code> because keeping vectors next to the relational metadata is operationally simpler than maintaining two databases.</li>
<li><strong>Half-precision storage</strong>. With 16-bit floats per dimension instead of 32-bit, vectors take half the disk. Quality loss is negligible for retrieval. The <code>halfvec(768)</code> type in <code>pgvector</code> is now the default for any cost-conscious deployment.</li>
<li><strong>MRL (Matryoshka) truncation</strong>. Trained-once 1,536-dimension embeddings get truncated at storage to 768 or 256 dimensions per use case. Search a fast 256-dim index first, re-rank the top 100 against the 768-dim or 1,536-dim version.</li>
</ul>
<p>At SavedThat's scale (the whole search index held about 230,000 transcript chunks as of 30 September 2026), the index still fits in memory and lookups stay fast.</p>
<h2>The catch: semantic search alone is wrong about exact phrases</h2>
<p>Now the punchline that most tutorials skip: <strong>semantic search loses to keyword search on exact phrases</strong>.</p>
<p>If you search for <code>"text-embedding-3-small"</code> (an exact product name), keyword search returns the document mentioning that exact string at rank 1. Semantic search may rank a document that talks about "OpenAI embeddings in general" higher because it's <em>semantically</em> closer to the average meaning of the query, even though the literal string is missing.</p>
<p>This is real. Public benchmarks consistently show pure semantic underperforms keyword for queries with high specificity: product names, function signatures, exact quotes, dates, brand names. The thing semantic was supposed to fix (vocabulary mismatch) doesn't exist for those queries because the user typed the literal string they wanted.</p>
<p>The fix is to <strong>run both and merge the results</strong>.</p>
<h2>Hybrid retrieval with reciprocal rank fusion</h2>
<p>Hybrid retrieval is the technique that's quietly become the default in serious production search systems since 2024:</p>
<ol>
<li><strong>Run a semantic search</strong> (vector similarity). Get the top-K results ranked by cosine.</li>
<li><strong>Run a full-text search</strong> (keyword, tsvector, BM25, whatever). Get the top-K results ranked by relevance score.</li>
<li><strong>Merge the two lists</strong> using <strong>reciprocal rank fusion (RRF)</strong>: each document's RRF score is <code>1 / (rank + 60)</code>, summed across the two methods. Documents that appear well in both get a meaningful boost; documents appearing in only one still contribute.</li>
<li><strong>Sort by combined RRF score</strong>.</li>
</ol>
<p>The constant 60 is a magic number that's been benchmarked to death and works across most corpora. You can tune it; you usually don't need to.</p>
<p>The result: paraphrased queries still find concept-matches (via the semantic side), and exact-phrase queries still rank the literal match at #1 (via the keyword side). Each method's blindspot is covered by the other.</p>
<p>This is what SavedThat ships as the default search. The <code>search_chunks</code> RPC in our Postgres runs both queries in parallel, computes RRF scores, and returns ranked hits. End to end, including the call that embeds your query, a search took a median of about 1.3 seconds in September 2026. (<a href="https://learn.microsoft.com/en-us/azure/search/hybrid-search-overview">Microsoft on hybrid search</a>)</p>
<h2>Where this still gets fancy: re-ranking</h2>
<p>For high-stakes use cases — legal discovery, medical literature, enterprise search over millions of documents — hybrid RRF is usually the second-to-last layer. The last layer is <strong>re-ranking with a cross-encoder model</strong>.</p>
<p>A cross-encoder is a smaller, slower model that takes the <em>full query</em> and the <em>full candidate document</em> and computes a tight relevance score by attending across both jointly. You can't run it on a million documents (too slow); you run it on the top 50-200 results from hybrid retrieval to re-order them precisely.</p>
<p>Cohere ships <code>rerank-v3</code> for this. Open-source alternatives: <code>bge-reranker-large</code>, <code>jina-reranker-v2</code>. For consumer-scale workloads like SavedThat, the marginal gain doesn't justify the 100ms latency hit. For enterprise legal-discovery search, cross-encoder re-ranking is now standard.</p>
<p>We'll add it when our corpus or our use case demands it. Not before.</p>
<h2>The cost picture</h2>
<p>The whole pipeline is roughly:</p>
<table>
<thead>
<tr>
<th>Stage</th>
<th>Cost</th>
</tr>
</thead>
<tbody><tr>
<td>Embedding 1,000 chunks (~50 videos)</td>
<td>~$0.02 in OpenAI credits</td>
</tr>
<tr>
<td>Storing 1M chunks in pgvector</td>
<td>~$25/mo on a small Postgres instance</td>
</tr>
<tr>
<td>HNSW index build for 1M chunks</td>
<td>~30 seconds, one-time per major data change</td>
</tr>
<tr>
<td>One search query (embed + HNSW lookup + FTS + RRF)</td>
<td>~$0.0001, about 1.3 s end to end</td>
</tr>
</tbody></table>
<p>At SavedThat's pricing, one Pro subscription ($9.99/mo) covers thousands of searches and several hundred new saves. The economics are fine for consumer-scale; what doesn't work is trying to fund this with a free-forever-unlimited plan because the OpenAI bill grows linearly with content while revenue caps at zero.</p>
<h2>Why most "second brain" tools don't ship this</h2>
<p>Three reasons:</p>
<ol>
<li><strong>Engineering complexity.</strong> Hybrid retrieval with RRF requires running two retrieval systems and merging them. Most teams ship one. The one is usually keyword because it's older and the stack is mature.</li>
<li><strong>Storage cost.</strong> Embeddings at 1,536 dimensions × 4 bytes/dim = ~6KB per chunk. A library of 100,000 chunks is 600MB of vector storage on top of the original text. Without <code>halfvec</code> and MRL the math is twice that.</li>
<li><strong>Inertia.</strong> Most existing note tools shipped before sentence embeddings were a commodity. Retrofitting semantic search into Evernote or Pocket would have required a vector database project that the org never prioritised.</li>
</ol>
<p>The tools shipping semantic search from day one — Mem, Reflect, Glasp's premium tier, SavedThat — are mostly post-2022 builds because that's when the embedding cost dropped below the threshold where consumer-scale could be priced sustainably.</p>
<h2>What this means practically</h2>
<p>When you evaluate a search-inside-X tool in 2026, ask:</p>
<ul>
<li><strong>Does it embed?</strong> If the architecture diagram doesn't include a vector store, the answer is no.</li>
<li><strong>Does it run hybrid retrieval?</strong> Pure semantic is worse than hybrid for many real queries. Tools that ship "vector search" but not full-text-search are doing it half right.</li>
<li><strong>Does it support multilingual?</strong> This is a function of the embedding model, not the search infrastructure. <code>text-embedding-3-small</code> works across 100+ languages; older or smaller models don't.</li>
<li><strong>Does it expose the math at all?</strong> Tools that explain their retrieval are usually doing it well. Tools that say "AI-powered search ✨" without specifying are usually doing item 2 or 3 from earlier (LLM-on-top of keyword, or pure Q&amp;A).</li>
</ul>
<p>For saving videos and finding them later: SavedThat ships all four (<a href="https://savedthat.app/blog/search-inside-saved-videos-2026">architecture overview here</a>). Glasp ships keyword only (free tier) and semantic (paid). Mem ships semantic only without hybrid. Notion's "AI search" is item 2 — LLM on keyword.</p>
<p>That's the lay of the land in May 2026.</p>
<h2>Frequently asked questions (2026)</h2>
<p><strong>What's the difference between an embedding and a vector?</strong></p>
<p>Functionally none — in practice the terms are used interchangeably. Strictly, an embedding is the *representation* a model produces, and a vector is just a list of numbers. Every embedding is a vector; not every vector is an embedding (a column of pixel intensities is a vector but not an embedding). Most papers and engineering docs use 'vector' as the storage term and 'embedding' as the conceptual term.</p>
<p><strong>Does semantic search work in any language?</strong></p>
<p>Depends on the embedding model. OpenAI's text-embedding-3-small was trained on 100+ languages and produces vectors that are roughly aligned across them — a Russian query and an English document about the same concept land in similar regions of vector space. Smaller open-source models often degrade significantly on non-English. If multilingual is a requirement, verify the model card explicitly mentions cross-lingual alignment.</p>
<p><strong>How is hybrid search different from running two searches and showing both?</strong></p>
<p>Running two searches and concatenating the results just gives you twice as many results. Hybrid search merges them by score (RRF or weighted fusion) so the final ranking reflects both methods' agreement. A document at rank 1 in keyword and rank 1 in semantic ends up at rank 1 overall; a document at rank 1 in keyword but rank 50 in semantic falls in the middle. Without merging, you can't tell which results to trust.</p>
<p><strong>Why does pure semantic search lose to keyword for exact phrases?</strong></p>
<p>Embeddings encode semantic meaning, not literal strings. A query like 'text-embedding-3-small' has its meaning in 'OpenAI embeddings family member' more than in the literal token sequence. The vector for the query is similar to vectors for documents discussing OpenAI embeddings broadly, which may rank higher than the specific document mentioning the exact product name. Keyword search has zero ambiguity on exact strings — they either appear or don't. Hybrid covers both modes.</p>
<p><strong>Is RAG the same thing as semantic search?</strong></p>
<p>Related but not the same. Semantic search is the retrieval step — find documents close to a query in vector space. RAG (Retrieval-Augmented Generation) is a system that uses semantic search to fetch documents, then passes them to a generative LLM that writes an answer using the documents as context. RAG includes semantic search as one component; you can have semantic search without RAG (when you just want to find the documents, not generate text on top).</p>
<p><strong>Do I need a GPU to run semantic search?</strong></p>
<p>For inference — searching against a built index — no. CPU is fine for retrieval at consumer scale. For building the index — running the embedding model on your content — a GPU is fast but not required. OpenAI's API does the embedding in their datacentre, returning the vector for you to store; the only thing on your end is the vector database and the query embedding (one short API call per query). Cost is pennies per thousand searches.</p>
<hr />
<p><em>Originally published on the <a href="https://savedthat.app/blog/how-semantic-search-works-2026">SavedThat blog</a>. SavedThat makes saved YouTube videos, Instagram Reels and TikToks searchable by what was said in them: <a href="https://savedthat.app">savedthat.app</a>.</em></p>
]]></content:encoded></item><item><title><![CDATA[Export Instagram saved posts: step by step (2026)]]></title><description><![CDATA[TL;DR
To export Instagram saved posts, request a copy of your data in Accounts Center, choose only "Saved", pick JSON and "All time", and download the ZIP when Instagram emails you. Inside, saved_post]]></description><link>https://savedthat.hashnode.dev/export-instagram-saved-posts-step-by-step-2026</link><guid isPermaLink="true">https://savedthat.hashnode.dev/export-instagram-saved-posts-step-by-step-2026</guid><category><![CDATA[instagram]]></category><category><![CDATA[Productivity]]></category><category><![CDATA[social media]]></category><category><![CDATA[data]]></category><dc:creator><![CDATA[Alexey Polev]]></dc:creator><pubDate>Thu, 08 Oct 2026 14:00:27 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ac79684be6fc18870124923/28dc4cd4-65b7-4254-894c-3b39ec20cb99.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>TL;DR</p>
<p><strong>To export Instagram saved posts</strong>, request a copy of your data in Accounts Center, choose only "Saved", pick JSON and "All time", and download the ZIP when Instagram emails you. Inside, <code>saved_posts.json</code> lists every saved post and Reel as a link with the creator's username and the date you saved it. It contains links only: no captions, no videos, no audio.</p>
<p>Instagram lets you save thousands of posts and gives you no way to list, sort or search them. The one official way to <strong>export Instagram saved posts</strong> is the data download in Accounts Center. It takes five minutes to request, it is free, and it is the only complete list of your saves that Instagram will hand you.</p>
<p>Below: exactly what the export contains, how to request it on the phone and on the web, what <code>saved_posts.json</code> looks like inside, the mistakes that produce an empty file, and what you can actually do with the list once you have it.</p>
<h2>What an Instagram saved posts export gives you (and what it doesn't)</h2>
<p>The export is a ZIP file. For saves, it contains two files that matter:</p>
<ul>
<li><strong><code>saved_posts.json</code></strong>: every post and Reel you saved, one entry each. An entry holds the username of the account that posted it, the link to the post, and the time you saved it.</li>
<li><strong><code>saved_collections.json</code></strong>: your collections and which saved items belong to each.</li>
</ul>
<p>What it does <strong>not</strong> contain is just as important. Your saved items belong to other accounts, so Instagram gives you references, not copies: no image, no video, no caption, no audio (<a href="https://www.marqly.com/blog/export-instagram-saved-posts">Marqly</a>, <a href="https://stashr.me/blog/export-instagram-data">Stashr</a>). If a creator later deletes a post or makes the account private, the link in your export stops working. An export is a list, not a backup.</p>
<p>That list is still valuable. It is the only way to get every save out of the app at once, with dates, in a format a computer can read.</p>
<h2>How to export Instagram saved posts, step by step</h2>
<p>Meta moved the data download into <strong>Accounts Center</strong>, and the menu name varies by app version: newer versions say <strong>Export your information</strong>, older ones <strong>Download your information</strong>. The steps are the same.</p>
<p><strong>On the Instagram app</strong></p>
<ol>
<li>Open your profile, tap the menu (three lines) and open <strong>Accounts Center</strong>.</li>
<li>Tap <strong>Your information and permissions</strong>, then <strong>Export your information</strong> (or <strong>Download your information</strong>).</li>
<li>Tap <strong>Create export</strong>, choose your Instagram account, and choose <strong>Export to device</strong>.</li>
<li>Tap <strong>Customize information</strong> and untick everything except <strong>Saved</strong> (it sits under your Instagram activity). Selecting less makes the export much faster.</li>
<li>Set <strong>Date range</strong> to <strong>All time</strong>.</li>
<li>Set <strong>Format</strong> to <strong>JSON</strong>. HTML is readable in a browser; JSON is what tools and scripts can read. If in doubt, pick JSON, because you can always open it in a text editor.</li>
<li>Tap <strong>Start export</strong>.</li>
</ol>
<p><strong>On a computer</strong></p>
<p>Open <a href="https://accountscenter.instagram.com">accountscenter.instagram.com</a>, log in, and follow the same path from step 2: Your information and permissions, then Export your information.</p>
<p><strong>How long it takes.</strong> Instagram says preparing your information can take up to 30 days; with only "Saved" selected it usually arrives within hours (<a href="https://www.marqly.com/blog/export-instagram-saved-posts">Marqly</a>). You get a notification and an email. <strong>Download it promptly:</strong> the download link expires after a few days, and then you have to request it again (<a href="https://stashr.me/blog/export-instagram-data">Stashr</a>).</p>
<blockquote>
<p><strong>Tip</strong>
Only select "Saved". A full-account export with photos, messages and media in high quality can run to gigabytes and take far longer. For your saves you need a few hundred kilobytes.</p>
</blockquote>
<h2>Inside the ZIP: where saved_posts.json lives and what it looks like</h2>
<p>Unzip the file and open the folder for your Instagram activity. The saved files are usually at:</p>
<pre><code class="language-text">your_instagram_activity/saved/saved_posts.json
your_instagram_activity/saved/saved_collections.json
</code></pre>
<p>Meta has renamed folders between export versions, so if the path differs, search the unzipped folder for <code>saved_posts</code>. Each entry in <code>saved_posts.json</code> looks roughly like this (the username and link are placeholders):</p>
<pre><code class="language-json">{
  "saved_saved_media": [
    {
      "title": "creator_username",
      "string_map_data": {
        "Saved on": {
          "href": "https://www.instagram.com/reel/ABC123xyz/",
          "timestamp": 1726000000
        }
      }
    }
  ]
}
</code></pre>
<ul>
<li><code>title</code> is the account that posted it.</li>
<li><code>href</code> is the link. Reels have <code>/reel/</code> in the path, photo posts <code>/p/</code>.</li>
<li><code>timestamp</code> is when you saved it, in Unix seconds.</li>
</ul>
<p>Some exports use a slightly different shape (<code>string_list_data</code> instead of <code>string_map_data</code>), which is why tools that read the file should not rely on one exact structure.</p>
<h2>What to do with your exported Instagram saved posts</h2>
<p><strong>1. Get a plain list of your saved Reels.</strong> If you have <code>jq</code> installed (macOS, Linux, or Windows via WSL), this prints every saved Reel link:</p>
<pre><code class="language-bash">jq -r '.saved_saved_media[].string_map_data["Saved on"].href' saved_posts.json | grep "/reel/" &gt; reels.txt
</code></pre>
<p><code>reels.txt</code> now holds one link per line. Paste it into a spreadsheet to sort, dedupe or count by creator.</p>
<p><strong>2. Browse it.</strong> If you exported as HTML instead, open <code>saved_posts.html</code> in a browser: every save becomes a clickable link. Fine for skimming, useless for finding anything in a list of two thousand.</p>
<p><strong>3. Make the saves searchable by what was said.</strong> This is the gap the export cannot close on its own: it has no captions and no audio, so you cannot search it for "the Reel where she explained the 3-2-1 rule". <a href="https://savedthat.app/">SavedThat</a> can import the ZIP directly: in the app, open <strong>Settings → Import → Instagram</strong> and drop the file. It reads <code>saved_posts.json</code>, shows how many saved videos it found, and transcribes the ones you confirm, so you can search your saves by the words spoken in them and jump to the exact second. On the free start the first 5 videos are imported; the rest follow on a paid plan (<a href="https://savedthat.app/pricing">pricing</a>).</p>
<p><strong>4. Hand the list to an AI assistant.</strong> A list of links plus usernames is enough for an assistant to group saves by creator or date. If you are in the US or Canada, Meta's own agent can read your saves without any export; our guide to <a href="https://savedthat.app/blog/meta-muse-saved-instagram-reels">Meta Muse and saved Instagram Reels</a> covers that route and its limits.</p>
<h2>Instagram saved posts export problems and fixes</h2>
<p><strong>There is no saved_posts.json in the ZIP.</strong> Two causes cover almost every case: "Saved" was not ticked in Customize information, or the export was requested in HTML (then look for <code>saved_posts.html</code>). Request a new export with Saved selected and JSON chosen.</p>
<p><strong>The file exists but is nearly empty.</strong> Check the date range: anything other than All time drops older saves. Request again with All time.</p>
<p><strong>The download link does not work.</strong> It expired. Request the export again.</p>
<p><strong>Some links open "Sorry, this page isn't available".</strong> The creator deleted the post, archived it, or made the account private. The export cannot recover it, which is exactly why the content itself is worth capturing while it still exists.</p>
<p><strong>Collections are missing.</strong> Collections live in <code>saved_collections.json</code>, not in <code>saved_posts.json</code>.</p>
<p><strong>It has been days.</strong> Large exports can take long; Instagram's official window is up to 30 days. Requesting only "Saved" is the easiest way to keep it small and quick.</p>
<h2>The honest verdict on exporting Instagram saved posts</h2>
<p>The official export is worth doing once, today: it is free, it is complete, and it is the only way to get every save out of Instagram with dates. Just know what it is: a list of links that will slowly rot as creators delete and privatise posts. If what you actually want is to find a Reel by what someone said in it, the list is the input, not the answer; turn it into transcripts while the videos are still online.</p>
<h2>Frequently asked questions (2026)</h2>
<p><strong>Can I export my saved posts from Instagram?</strong></p>
<p>Yes. In Accounts Center, open Your information and permissions, then Export your information (or Download your information), create an export for your Instagram account, select only Saved, choose JSON and All time, and download the ZIP when it is ready.</p>
<p><strong>Where is saved_posts.json in the Instagram export?</strong></p>
<p>Usually at your_instagram_activity/saved/saved_posts.json inside the ZIP, next to saved_collections.json. Folder names change between export versions, so search the unzipped folder for saved_posts if the path differs.</p>
<p><strong>Does the Instagram export include the saved videos themselves?</strong></p>
<p>No. Saved items belong to other accounts, so the export contains only a link, the username and the date you saved each post. No images, videos, captions or audio are included.</p>
<p><strong>How long does the Instagram data export take?</strong></p>
<p>Instagram says up to 30 days, but an export with only Saved selected usually arrives within hours. The download link expires after a few days, so download it as soon as you get the notification.</p>
<p><strong>Why is my Instagram export missing saved posts?</strong></p>
<p>Most often Saved was not selected, the export was in HTML rather than JSON, or the date range was not All time. Posts that were deleted or made private also stop opening, even though their links remain in the file.</p>
<p><strong>How can I search my exported Instagram saves by what was said?</strong></p>
<p>The export has no captions or audio, so it cannot be searched by content on its own. Import the ZIP into a transcript search tool such as SavedThat, which transcribes each saved Reel and lets you search the spoken words with timestamps.</p>
<hr />
<p><em>Originally published on the <a href="https://savedthat.app/blog/export-instagram-saved-posts">SavedThat blog</a>. SavedThat makes saved YouTube videos, Instagram Reels and TikToks searchable by what was said in them: <a href="https://savedthat.app">savedthat.app</a>.</em></p>
]]></content:encoded></item></channel></rss>