Download Docket for Mac
- Buy once. The licence key
arrives with your receipt.
$349once · or 4 × $87.25
For Macs with Apple silicon or Intel, macOS 12 or later
Founding price $174.50 once · or 4 × $43.63, first 25 buyers, then $349. Buy applies the code
FOUNDINGDOCKETfor you; if the checkout shows $349, enter it under ‘Have a discount code?’.Screaming Frog is $279 a year. Ahrefs plans with Site Audit run $29–$449 a month. Docket is $349 once. Their prices read 8 October 2026.
30 days, no conditions, no questions asked. Refund policy
- Download the app: Docket v1.3.101 for Mac, 22.0 MB. On an Intel Mac, the Intel version.
- Paste the key into the field the app shows, and run your first audit. 30-day refund, no conditions.
Or start with step 2: without a key, Docket runs the same full audit for free. Free: your score and how many problems in each category. Pro: what they are, the ranked fix plan and the markup to paste. Buy from inside the app and the audit you ran opens in full.
Docket is $349, paid once, for macOS 12 or later on Apple silicon or Intel.
22.0 MB. No subscription, no crawl credits, no per-seat pricing. Audit as many sites as
you like, for as long as you like. There is no account to create and no telemetry. Activating
your licence checks the key with our payment provider once, and about once a day after that.
The crawl and the report stay on your Mac. Five optional checks, on by default,
reach outside it, among them Google PageSpeed, which is sent the addresses of your homepage and
top pages, and Google's autocomplete, which is sent your site's topic words;
--offline turns all five off.
v1.3.101 runs free without a key. Free: your score and how many problems in each category. Pro: what they are, the ranked fix plan and the markup to paste. Pro is $349, paid once: the key arrives with your receipt, covers up to three machines, and pasted into the app it opens the audit you already ran in full.
Download Docket v1.3.101 for Mac
Intel Mac? Download the Intel version (22.9 MB).
Apple Silicon · macOS 12+ · 22.0 MB · all releases
What it will crawl
No page ceiling. The default is 200 pages to a depth of 5 clicks, and setting the page count to 0 removes the limit entirely.
That is worth stating precisely, because "unlimited" on its own is a promise no program keeps. What still stops a crawl is the 15-minute wall clock, the frontier running dry and, on a genuinely enormous site, your machine's memory, because every page is held in one list. A crawl that hits the clock stops and tells you it stopped, with everything it found so far, rather than pretending it finished.
If your site is larger than that, say so plainly to yourself and use Screaming Frog. It crawls without a ceiling and that is a real reason to pick it. Docket is built to read a site closely rather than to survey one at that scale. These numbers are generated from the shipped build, not typed here, so they cannot drift from what the app does.
What it costs over three years
$349 once, against a subscription. The arithmetic, from the prices on the comparison pages:
| Tool | Cheapest tier | Three years |
|---|---|---|
| Docket | $349 once · or 4 × $87.25 | $349 |
| Sitebulb | $180/yr | $540 |
| Screaming Frog | $279/yr | $837 |
| Ahrefs Site Audit | $348/yr billed monthly | $1,044 billed monthly |
| Semrush Site Audit | $1,668/yr billed monthly | $5,004 billed monthly |
Billed monthly. Ahrefs Site Audit and Semrush Site Audit quote a monthly price and offers a discount for paying yearly, and the figures above are twelve monthly payments: what you pay without committing to a year. Their annual prices are lower. Where we have read one it is on that tool's comparison page (Semrush publishes $117.33 a month billed annually), and where we have not, we leave it out rather than work it out: a figure derived from an advertised “save up to” is a guess wearing a discount, and a competitor’s price is not ours to estimate.
Checked against the vendor's own pricing page: Ahrefs Site Audit checked 2026-10-08 (source); CrawlRaven checked 2026-09-16 (source); Google Lighthouse checked 2026-08-10 (source); JetOctopus checked 2026-09-16 (source); Otterly.AI checked 2026-08-10 (source); Profound checked 2026-09-16 (source); SE Ranking checked 2026-10-08 (source); SEOptimer checked 2026-10-08 (source); Screaming Frog checked 2026-10-08 (source); Scrutiny checked 2026-08-15 (source); Semrush Site Audit checked 2026-09-09 (source); Sitebulb checked 2026-09-08 (source); Sitechecker checked 2026-09-16 (source); Ubersuggest checked 2026-08-10 (source); crawler.sh checked 2026-09-16 (source). Prices change; check before you buy, and tell us if one here is wrong.
$349 once is one year of the cheapest serious desktop subscription, or fifteen months of Screaming Frog, and nothing after that. From month sixteen Docket is the cheaper tool and stays cheaper every month afterwards. That is the whole pricing argument and it does not need help: the tools above are not overpriced for what they do, they are simply rented rather than owned.
Checking what you downloaded
The Mac app is signed with a Developer ID and notarised by Apple, so macOS verifies it with Apple before it opens and you need do nothing. The Linux tarball has no equivalent. It is a plain archive from a URL, so every release publishes SHA256SUMS covering all of its artifacts:
curl -LO https://github.com/mattkerr09/docket-site/releases/download/v1.3.101/docket-1.3.101-linux-x86_64.tar.gz
curl -LO https://github.com/mattkerr09/docket-site/releases/download/v1.3.101/SHA256SUMS
grep linux SHA256SUMS | shasum -a 256 -c -
Be clear about what that proves and what it does not. It proves the file arrived intact and is the one this release published. It does not prove authorship: the checksums sit on the same release as the tarball, so anyone able to replace one could replace the other. Apple's notarisation of the Mac build is a genuinely stronger guarantee, and pretending the two are equivalent would be exactly the kind of claim this tool exists to catch.
Opening it
Double-click it. Docket is signed with a Developer ID and notarised by Apple, so macOS opens it without a security warning and without any of the right-click or Terminal workarounds that unsigned software needs.
What happens on first launch
Docket opens and starts its local audit engine. If you have bought it, paste the licence key from your receipt email once. Either way the app shows a single field: type a domain, press Run audit, and watch it crawl. There is no onboarding, no project setup and no plan selection, because none of those are necessary for the thing you came to do.
Without a key the audit runs as the free version. Free: your score and how many problems in each category. Pro: what they are, the ranked fix plan and the markup to paste. The key arrives with your receipt, and the buy step is at the top of this page.
The first launch takes a few seconds longer than later ones. It used to say "while the engine unpacks itself". That was an explanation nobody had measured, and timing the CLI out of the shipped bundle put its startup at a fifth of a second with no unpacking step to be found. The delay is real and the reason given for it was invented, so the reason is gone.
There is no security prompt to get past: the app is notarised, so macOS verifies it with Apple and opens it.
The command line
The same engine ships as a CLI inside the app bundle. It is the whole product, not a cut-down version, and it has six subcommands.
docket audit: the full audit
docket audit example.com
docket audit example.com -o audit.pdf -n 500
docket audit example.com --render 10 # run each page's JavaScript first
docket audit example.com --offline # skip the five optional checks
docket audit example.com -f json --no-pages | jq '.score.overall'
It exits with status 2 when it finds a critical issue, so it can gate a deployment. Running
it in CI against a staging URL fails the build if someone ships a noindex, which
is a mistake that otherwise gets found weeks later by a traffic graph.
There is a full walkthrough for that on running Docket in a deploy pipeline, where the binary lives inside the bundle, a working GitHub Actions job, how long an audit actually takes, and what a macOS runner costs you per pull request.
--fail-on sets the bar. The default is critical, deliberately:
almost every real site has HIGH findings, and a gate that fails on ordinary work gets wrapped
in || true within a month.
docket audit https://staging.example.com --fail-on critical # default
docket audit https://staging.example.com --fail-on high
docket audit https://staging.example.com --fail-on never # report, never fail
Three exit codes, and they are a contract. A pipeline depends on them not moving:
| Code | Meaning |
|---|---|
0 | The audit ran and found nothing at or above the threshold |
1 | Docket could not run: bad arguments or a crash. A defect in the tool, not in your site |
2 | The audit ran and the result is bad |
A site that does not answer is 2, not 1: Docket ran fine, the site
was not there, and a staging URL that does not respond should stop a deploy. Keeping those
two apart matters more than it sounds. "Your site is broken" and "the tool is broken" need
opposite responses from whoever reads the log, and a gate that confuses them stops being
trusted.
That case took a real fix. Auditing a domain that does not resolve used to report three critical issues: that robots.txt blocked Googlebot, that the site was not served over HTTPS, and that no pages could be crawled. Only the last was true. There was no robots.txt and nothing was served, because there was no site. A DNS blip in a pipeline would have failed the build with two invented criticals and sent somebody hunting for a robots.txt problem that never existed. When nothing at all can be read, Docket now reports that and stops.
docket diff: what this deploy broke
docket diff https://example.com https://staging.example.com
docket diff https://example.com https://staging.example.com --fail-on medium
Audits both with identical settings and reports what the second one changed. This is the better deploy gate, and the reason is arithmetic: every real site carries standing findings, so a severity threshold tight enough to catch a regression fails every build, and one loose enough to pass catches nothing. A deploy is only answerable for what it changed.
Regressions are new findings and ones that got worse, such as a check that was MEDIUM
before and is HIGH now did not appear or disappear, and it is exactly what you want to know.
Improvements never fail a build, however many there are. The default threshold is
high rather than critical, deliberately: a standing HIGH finding is
somebody's backlog, and a HIGH finding that arrived with this deploy is this deploy's fault.
If the two crawls reach very different numbers of pages, Docket refuses to compare them and
exits 1, not 0. A build that goes green because the comparison was
impossible is worse than one that fails, because the team believes the gate ran.
docket logs: what Googlebot actually fetched
docket logs access.log
docket logs access.log.gz --url https://example.com
docket logs access.log --verify # confirm the bot really was Google
A crawl tells you what a search engine could reach. A server log tells you what it
did reach, how often, and what it wasted requests on. Point Docket at a Common or Combined
format access log and it reports the response codes Google actually received, the paths it
fetched most, and how much of its budget went on redirects and errors. Add
--url and it crawls the site too, then shows the two ways the sets differ: pages
you link to that Google did not fetch in that period, and pages Google fetches that the crawl
never found: orphans, retired URLs still being retried, or sitemap-only pages.
A user-agent is a header anybody can send, and scrapers claim to be
Googlebot constantly. Everything is reported as "claimed" until you pass --verify,
which does the reverse-DNS-then-forward-lookup check
Google
documents. It is off by default because it is a DNS round trip per distinct IP. Lines that
are not in a recognised format are counted and reported rather than skipped, because a parser
that quietly drops a third of a file produces confident numbers about the rest.
Screaming Frog sells a dedicated Log File Analyser as a separate product at $139 per year, free up to 1,000 log events. It is a much deeper tool than this: a real interface, saved projects, and far more than a set difference against one crawl. What Docket gives you is the comparison that answers "is Google spending its time on my important pages", included in the one-time price rather than as a second subscription.
docket attack: where a competitor's authority does not protect them
docket attack yoursite.com theircompetitor.com
docket attack yoursite.com theirs.com --demand "emergency plumber"
Audits both sites, compares their link-graph authority, and returns the openings ranked by
how winnable they are rather than how large they are. An older, better-linked competitor is
unbeatable on the pages it has held for years and beatable on the ones it never wrote.
That distinction is the only part of a competitive analysis that changes what you do on
Monday. Add --demand and it pulls what people actually search for from Google's
public autocomplete, then reports which of those questions neither site answers.
docket backlinks: authority without a subscription
docket backlinks yoursite.com competitor.com
docket backlinks yoursite.com --referring
Domain authority from Common Crawl's public hyperlink graph, which covers 117,963,409
domains. --referring streams the 9.8 GB graph to list the domains linking in;
it takes minutes and writes nothing to disk.
docket checks and docket serve
checks prints every check the engine runs with its lane and severity.
serve runs the local API the desktop app talks to, on 127.0.0.1, which is also
how you would drive Docket from your own scripts.
Requirements and limits
- macOS 12 or later, Apple silicon or Intel for the desktop app. There is no Windows build.
- Linux x86_64 for the command line.
Download the 17.3 MB tarball. It needs
glibc 2.30 or newer. Check yours with
ldd --version. That floor is measured from the shipped binary rather than assumed from the machine that built it: the launcher itself only needs 2.14, and the bundled Python runtime is what raises it to 2.30. It is the same engine and the same checks, verified running in a clean container. Two things it is not: there is no Linux desktop app, only the CLI, and--renderdoes not work there. The renderer is a WebKit helper that exists only on macOS, so on Linux Docket reports that rendering was requested and did not happen rather than quietly skipping it. - An internet connection to the site you are auditing, and to our payment provider when the licence is activated and re-checked.
- Crawls are bounded by page count, depth, wall-clock time and response size. The defaults are deliberately polite; you can raise them.
What happens to your data
The crawl and every check run on your machine, and Docket identifies itself honestly in its user-agent rather than impersonating Googlebot, because a spoofed user-agent gets a different, sometimes cloaked response, which would make every finding a lie.
Five optional checks do reach out, and it is worth being exact rather than reassuring:
Docket asks your own server what it tells AI crawlers, refreshes its crawler knowledge file
from this site, checks whether the email addresses you publish can actually receive mail,
fetches Core Web Vitals from Google PageSpeed Insights, and asks Google's public autocomplete
for topic suggestions. --offline, or the offline
tick in the desktop app, turns all five off and the audit still completes. The report then
says which checks did not run rather than quietly scoring them.
Docket also asks docketseo.app when it opens, and every thirty minutes while it stays open,
whether a newer version exists, and tells you if there is one. It sends nothing but the request
itself, it never installs anything without you saying yes, and Check for Updates…
in the Docket menu does the same thing on demand. With the licence check, that makes two calls
it makes on its own, and a product that sells not phoning home should list both.
What never happens: no telemetry, no account, no analytics on you, and nothing about your site is sent anywhere for us to see. This page made a stronger, absolute claim until 2026-08-10; it was not true while those four checks were on by default, and it has been corrected rather than quietly dropped.
Audit history is stored in ~/.docket/ as plain JSON. Delete the folder and it
is gone.