yt-dlp finds the formats.
Site extractors discover video, audio and metadata across a broad range of sources. Slurp translates those results into its own download model.
A link goes in. A file lands on your Mac. Between those two moments, Slurp brings together native macOS code, specialist media engines, browser-assisted discovery and a compatibility system that can evolve between app releases.
InterfaceSwiftUI · AppKit
Discoveryyt-dlp · Streamlink · WebKit
Media processingFFmpeg · FFprobe
Site repairLangGraph · local AI · verification
RenderingMetal · extended dynamic range
One connected workflow.
Websites expose media in different ways: a direct file, separate video and audio streams, a segmented playlist, or a player assembled by JavaScript. Slurp turns those different sources into a consistent set of choices.
On-demand media
yt-dlpFormats & metadata
StreamlinkLive-stream discovery
WebKitPage & player discovery
Video, audio & subtitles
yt-dlp extracts the media and format information. Slurp brings those options into its native quality and format controls.
Site extractors discover video, audio and metadata across a broad range of sources. Slurp translates those results into its own download model.
Once Slurp confirms that a source is live, Streamlink provides the stream discovery and recording path. An on-demand video keeps its download workflow.
Separate audio and video can be merged, media can be remuxed into a container, and audio can be extracted. FFprobe supplies media inspection alongside it.
For supported browser-assisted paths, Slurp can load the page and discover media that becomes available after its JavaScript has run.
These diagrams show representative paths; the exact route and processing depend on the source and selected output. Media travels from the source to your Mac, where Slurp processes and saves the finished file.
A modern video player can build its media requests only after the page loads. Slurp has two ways to bring that browser context into the download workflow.
Supported resolution paths open the page in an isolated browser environment, run its JavaScript and look for usable media. Temporary sessions use a nonpersistent data store.
The companion scans the page you explicitly send to Slurp and passes useful page, media and session information to the local app. Slurp uses that context when it helps resolve the download.
The companions share a core interface and media-scanning logic. Assistance is tied to the page you choose to send; ordinary links can go straight into Slurp’s URL field.
The native app, its download engines and its site rules do different jobs. Slurp can update those layers separately, so a focused site adjustment can reach the app between full releases.
The interface, queue, browser integration and media workflow.
Fresh extraction and live-stream logic, verified before use.
Rule packs configure capabilities already in Slurp. Separately verified extractor components can add narrowly scoped extraction logic for a specific site and engine.
Compatibility packs use Ed25519 signatures and SHA-256 checksums, verified with CryptoKit before installation. Slurp keeps the current pack, the previous verified pack and a bundled fallback.
A failed download becomes a repair case when you choose to share a public link. LangGraph coordinates investigation, proposals, testing and release decisions. Qwen runs on Slurp-operated hardware; independent tools check the actual media before an eligible change can be signed and delivered.
Optional report & public link
Public access & exact page
Try the current download path
Gather evidence & propose
A small data-only rule can change URL handling, video classification or selection of a supported public player.
When a rule is not enough, the worker can propose one site’s extraction method. Code checks and independent media tests come before developer review.
Approval names the exact change and its evidence. Resuming takes a fresh lease, checks the original source again and retests the same proposal.
Original media · full decode · regressions
Fresh evidence · required approval · release checks
Versioned rule pack or reviewed code component
Eligible failures carry trusted test feedback into the next proposal. Rule repairs allow up to three distinct candidates; repeating a failed candidate stops the attempt.
For example, a finite HLS video may need on-demand classification instead of live-stream treatment. A rule selects a capability already in Slurp. It still has to produce the intended media and pass independent checks before release.
Rule verification checks the original failure, the intended download and full media decoding. At least two other pages from the same provider and three unrelated sites must also pass regression checks.
Pinned tools · original content · regression coverageWhere a retry is permitted, the rejected candidate and failed checks become context for another proposal. Recent related incidents can inform future cases. References are retested before they count as passing evidence.
Trusted feedback · distinct candidates · explicit stopsEvery generated code component and risky rule change requires owner approval. Verification and any required approval must still apply to the exact change being released.
Exact candidate · fresh evidence · signed deliveryThe engineering choices behind those steps.
Repairs branch, retry and pause for human decisions. LangGraph makes those transitions explicit through typed state and conditional routes. Durable checkpoints preserve a decision while fresh tools re-establish the evidence needed to continue.
The backend retains reports, queue status and worker leases. It records owner decisions and release eligibility, and handles opted-in notifications.
Qwen proposes bounded JSON changes. Trusted adapters control the browser, download tools, verification and signing. SQLite stores safe workflow state; it is not a second job queue.
Private SQLite checkpoints preserve safe workflow state across an owner wait. A continuation re-derives leases and runtime evidence. Checkpoints expire within seven days.
Synchronous checkpoints · fresh lease · fresh retestOriginal-source, base, candidate and evidence hashes bind the reviewed proposal. Changed input, expired evidence or a failed recheck stops the release.
Typed state · SHA-256 bindings · owner authorityRetries have limits. Resource and access failures route to attention. An uncertain publication keeps its durable replay fence and requires reconciliation.
Bounded retries · per-attempt audit · replay protectionWithin a repair, failed checks are passed back with the rejected candidate. Across cases, the backend can supply recent incidents from the same host; confirmed cases can nominate regression pages. Those pages need fresh tests. This is retrieved context and reviewed workflow improvement; it does not train Qwen’s model weights.
The live worker currently uses a non-thinking Qwen profile. Reasoning-enabled profiles are evaluated separately. A model answer or thinking trace cannot substitute for independent verification.
The signed component supplies extraction logic. Slurp supplies the controller, host policy, tools and output handling.
Verify the signature and runtime pins. Broker fresh, anonymous player evidence for the exact page.
A separate child process gets a disposable workspace and a scoped network proxy. Its timeout and resource limits are fixed by Slurp.
Public site + observed media hostsValidate media URLs, headers and measured formats. The trusted transfer path writes the user-selected output; generated code does not run there.
Isolation uses a macOS sandbox profile applied to subprocesses. There is no separately entitled XPC extractor service. The anonymous browser and trusted media transfer have separate network scopes; the site-host restriction above applies to generated-code execution.
Owner review is shared by rule and code repairs. Every generated extractor component passes through it; approval never expands its runtime permissions.
| Repair lane | Release decision | What it can change |
|---|---|---|
| Existing-site rule Established scope | Eligible for automationOnly after independent checks and the backend release gate. | Data-only settings for existing capabilities, such as browser impersonation or on-demand classification. No new executable code. |
| Risky rule New host, URL mapping or player selection | Owner approval + fresh retestThe exact rule and evidence are bound to the decision. | Validated site scope, canonical URL mapping or selection of an existing public-player path. No new executable code. |
| Extractor component Generated extraction logic | Always owner approval + fresh retestBefore component signing and delivery. | One scoped extraction method using allowlisted helpers, within the Mac runtime boundary above. |
The compiler checks one extraction method against an AST allowlist. New imports, dynamic execution, direct file, process and socket access, and unsupported calls are rejected. Trusted code supplies fixed imports and host matchers. Verification recompiles the same artifact and tests isolation, site scope, original media and regressions. Dynamic destinations are constrained by the runtime proxy.
Compiler policy · exact artifact · runtime enforcementOnly share public pages that work without sign-in. When you choose to include a link, a Slurp-operated computer may open the page and temporarily download media to reproduce the problem and test a fix. The investigation uses a fresh anonymous browser session.
Explicit sharing · public sources · bounded retentionWith a trusted key, a newer signed feed can withdraw a bad component or deliver a verified replacement. Macs stop selecting withdrawn code when they fetch and accept that update. A leaked signing key requires stopping delivery and recovery through a separately trusted, signed and notarized app release, with a new component key and reset or namespaced cache state. Offline Macs can retain installed code; feed expiry alone does not remove it.
Signed withdrawal · app recovery · explicit offline limitsGraph checkpoints contain identifiers, hashes, finite status labels and audit timestamps. Raw media links, report text, access tokens and signing material stay out of that saved state. Sharing a report or link, receiving fix notifications and sending retry feedback remain user choices. LangGraph runs in the support repair worker; normal downloads stay in the native Mac app.
Explore site fixesSwiftUI builds the interface. AppKit connects it to macOS windows, menus and system behaviour. The media engines run behind that interface, coordinated by Slurp’s own services.
Analysis, format selection, the queue and history are part of one Mac app. Apple silicon and macOS 14 or later provide the platform for its graphics and system integration.
Download history and unfinished queue state live on your Mac. Slurp writes queue snapshots atomically, including the paused state, so the workflow can continue across app launches.
Activation stores a signed entitlement in Keychain. Slurp verifies its Ed25519 signature locally, allowing a verified perpetual licence to work offline between online validations.
Paste a link, start an analysis or watch a download progress. Slurp gives those moments a shared visual language: native materials, animated light and highlights that can use your display’s extended dynamic range. Explore the materials and URL renderer below.
The colours of your desktop soften into Slurp’s window and sidebar. Layered surfaces keep the controls clear, in light or dark.
Slurp draws the animated URL perimeter with Metal. The Analyze chase loops continuously here; on a compatible display, its brightest crest can use extended dynamic range instead of being clipped to ordinary SDR white.
The native URL renderer draws its animated perimeter with Metal. Paste and analysis have distinct motion, while the download progress effect carries the same visual language into the queue.
When the display has available headroom, selected highlights can extend above SDR white. The app’s Highlights setting previews the brightness directly, from Subtle to Vivid.
Slurp follows appearance and accessibility preferences, including Reduce Motion and Reduce Transparency. SDR rendering keeps the effects available on ordinary displays.
Interface previews based on Slurp 1.0.13. Slurp follows your Mac’s appearance and accessibility preferences.
Slurp includes and builds on open-source projects including yt-dlp, Streamlink and FFmpeg. The notices page lists the software and licence material shipped with the app.
Buy the individual licence once for €19.99, or try every feature free for 7 days.
Apple silicon M1+ · macOS 14+ · No card needed for the trial