Directory submissions are the most boring part of launching anything. Same name, same tagline, same logo, same "Sign in with Google", three hundred times.
I have three small products on new domains. In mid October, Ahrefs showed them at Domain Rating 3, 2 and 0. I did a handful of directories by hand and did the maths for the full list. At my estimate of about 40 minutes a site, it came to more than 200 hours. So I stopped and gave the job to Claude Code with a browser.
This is the build log: what the setup looks like, what the agent could not do, and the numbers.
The numbers first
For one product, sellphotos.online, the agents were sent to 338 directories. They submitted 285. When I last counted, 54 of those were live and most of the rest were sitting in review queues.
Across five campaigns between October 13 and November 2 it was 822 directories attempted and 690 submitted.
And the Domain Rating readings, as Ahrefs showed them:
| Product | First reading | Nov 7 |
|---|---|---|
| Tapetide | DR 3 (Oct 12) | DR 48 |
| SightRadar | DR 2 (Oct 13) | DR 36 |
| sellphotos.online | DR 0 (Oct 16) | DR 33 |
Three products, all mine, so read it as an example and not a forecast. I also only tracked DR. I can't tell you how many signups came from this, and I don't trust anyone who says a directory made them rich.
Attempt one: "go submit my product to directories"
This fails in a boring way. The agent finds a "500 places to launch" list, opens the first site, and spends ten minutes hunting for the submit page. Then it meets a login wall. Then it finds out the free tier is gone. Then it guesses a category.
The model is fine at filling a form. What it doesn't have is knowledge of the site. Every directory is its own small puzzle, and solving each one from scratch burns the whole context window.
What worked: one record per directory
So I wrote the knowledge down. One JSON file per directory, with everything the agent needs before it opens the page. Trimmed, one looks like this:
{
"domain": "getmagictools.com",
"submit_url": "https://getmagictools.com/submit",
"login": "none for the free listing",
"badge_required": false,
"dofollow": "yes",
"time_to_live": "reviewed within 30 days",
"paid_tiers": "Pro, $9.90 once (skip)",
"steps": [
"Search the site for the product first, without dots in the query.",
"Open the submit page, fill in Tool Name and Tool URL.",
"Click Submit Tool and wait for 'Tool submitted successfully!'"
],
"gotchas": [
"No description field: the site writes the listing from your homepage, so check it once it's live."
]
}
That record is an easy one. Others carry notes like "Continue with Google fails after the consent screen, use the email link" or "the badge must be in the server-rendered HTML or the check fails".
Building the database was the real work. I collected 471 directories and opened every one:
Only 318 list you for free. 36 are paid only. 16 were dead. 83 I flagged to skip, mostly spam, including a group of 40 or so sites that turned out to be one backlink-farm network under different names.
The rest of the setup
- A browser the agent drives. Playwright MCP against a real Chrome profile.
- A separate Google account for launches, signed in by me in that profile. About two thirds of submissions went through Sign in with Google (848 of 1,304 recorded results), and most of the rest wanted an email code. With the inbox open, the agent signs up, logs in and reads one-time codes by itself. It never types a password.
- One listing file. Name, taglines at several lengths, descriptions, categories, pricing. The agent trims it to each form's limits.
- Images in every size. Forms ask for a 16:9 screenshot, a square icon, a 1400x950 preview. Render them once, up front.
- A step log and a result file per site. If the agent crashes or runs out of quota, it resumes from its own log and nothing gets submitted twice.
The rule that mattered most: giving up is a valid result
Early on, the agent would loop on a form it couldn't finish. The fix was to make "hand it back to the human" an explicit outcome with a reason attached.
Here is one session I timed on November 7, for a social media tool:
Thirty-one minutes, 23 directories. 14 submitted, 1 already listed, 8 handed back. The two sign-in failures were my fault: the Gmail tab that was open belonged to a different account. One form asked which popular tool the product replaces, and the agent stopped instead of inventing an answer. That's what I want. A guess on a form is a wrong listing I have to chase later.
It also never pays for anything, and it never posts votes, comments or reviews.
What I'd tell you before you try this
- The database beats the prompt. Per-site notes are the difference between 14 submissions in half an hour and an agent wandering around a homepage.
- Check the badge rule first. 160 of the 318 free directories want their badge on your site. Decide your policy before you start, not on site 40.
- Keep the report. Directories email you three weeks later asking for changes. Without a file of every listing URL you won't remember where you signed up.
- Expect it to go flat. Directories get a new domain off zero. After that you need real links.
If you want the shortcut
I cleaned up the database, the per-site steps, the image pipeline and the tracker, and I sell it as the Launch Agent Kit. It's my product, so weigh this section accordingly. It's a folder your agent reads, and it works with Claude Code, Codex, Cursor, Antigravity, OpenCode, Copilot and Devin.
It costs $29 once until December 1, then $99. If your domain starts at DR 0 to 10 and doesn't reach DR 30, you get your money back (the terms are on the page).
If you'd rather build your own, everything above is enough to start. Ask me anything about the setup in the comments.


