1,311 domains harvested. 20 listings live. About 7 confirmed dofollow links.
And the number that changed our plan: in our own AI-answer baseline, zero of those directories showed up as a cited source. Our original data pages did.
TL;DR
From 24 October to 3 November 2026 we had an AI agent work through free directory and launch-platform submissions for StackFi, our gold, silver and Bitcoin market-intelligence site. We followed strict rules, and a human approved anything sensitive.
- 1,311 candidate domains harvested, 1,130 probed, 401 passed our free-only vetting (94 marked high-confidence).
- 595 domains in the master tracker by the end.
- 20 listings marked live, 2 scheduled for future launch dates, 6 pending review, 48 submitted and awaiting a response.
- 3 rejections, 85 blocked, 224 skipped on our own rules, plus a long tail of edge statuses. 182 are still queued.
- Of the 20 live listings, about 7 carry a followed link (3 checked in the page HTML, 2 per the platform’s own email, 2 with no
nofollowon the link). 4 are nofollow and 9 we haven’t verified. - Most listings went live the same day to about 4 days after submission. Scheduled launch boards took 6 to 9 days, and some queues run to 2027.
- The real lesson: in our AI-answer baseline, none of the directories we’re listed on showed up as a cited source. Our original data pages did, in 3 of 15 tracked queries.
It’s early. These links are days old, and we’re making no ranking claims.
Results at a glance
| Status | Count | What it means |
|---|---|---|
| Live | 20 | Listing confirmed live, by the page itself or the platform’s email |
| Scheduled | 2 | Accepted into a free launch queue with a future date (whatlaunched.today, uneed.best) |
| Pending review | 6 | Platform confirmed it’s in a human review queue |
| Submitted | 48 | Form accepted; no approval or live notice yet |
| Rejected | 3 | Declined by the platform (see below) |
| Blocked | 85 | We couldn’t complete it: captcha/bot wall, OAuth-only login, broken form, etc. |
| Skipped | 224 | Broke our rules (paid, badge, reciprocal) or wasn’t a real directory |
| Error | 14 | Technical failure during submission |
| Other edge statuses | 11 | e.g. OAuth-only, no confirm email, phone required, free slots full, needs manual verify |
| Queued (not attempted yet) | 182 | Vetted but not yet worked |
| Total tracked | 595 |
1. Set conservative rules before the agent touches anything
The most useful thing we did was write the rules down before any submission went out. The agent skipped anything that broke them, without asking:
- Free only. A free queue was fine even if it was months long. Nothing paid-only, no pay-to-publish, no paid “bump.”
- No badges. If the free tier required embedding the platform’s badge on our site, we skipped it.
- No reciprocal links or link exchanges.
- No upvote gates. If you had to upvote N other products before you could submit, we skipped it.
- No profile-plus-URL link building. We didn’t create empty user profiles just to drop a link.
Why so strict? Paid listings and badges cost money and leave you with something to maintain. Reciprocal and thin profile links are a pattern you don’t want on a new domain. And a clear yes or no is much easier for an agent than a judgment call on each of hundreds of sites.
The rules have a cost: 224 domains were skipped. Often the “free” tier needed a badge or “backlink maintenance” (600.tools, dirs.cc, codetrendy.com, productfame.com), or it existed but had no free slots (firsto.co showed zero free days across its 180-day calendar).
2. Build an asset pack so every submission says the same thing
Before batching, we wrote one product template and pointed the agent at it for every form:
- Fixed public contact: one name plus our public
hello@address. Signups used a separate dedicated inbox. - One-line, short, medium and long descriptions, written once and reused.
- Fixed categories, location, founding year and X handles. Anything we didn’t have (like LinkedIn) was left blank, never invented.
- Images: a square logo, a 16:9 screenshot and an OG image.
The logo lesson. Indie Need sent back our first submission with “needs changes”: our logo field showed a website banner crop, and they asked for a square PNG/SVG of at least 256px. Our “logo-256” and “logo-512” files had turned out to be cropped site banners. We swapped in the real square icon, resubmitted the same day, got approved, and went live on 27 October. Since then the template says outright: use the square icon; the banner crops are not logos.
The consistency lesson. A later audit found that our listings state things our own site doesn’t, and that our positioning line differs from page to page. If you want AI systems to describe you consistently, your About page, schema and directory copy need to match.
3. Give the agent a dedicated inbox and an email-triggered routine
Submissions generate a lot of email: confirm links, magic links, codes, status updates and upsells. We set up a dedicated signup inbox with a routine that runs whenever new mail arrives:
- Open verification and magic links and enter one-time codes, but only for signups the agent had started itself.
- Log status emails (received, approved, scheduled, needs changes, rejected, live) and update the tracker.
- Ignore upsells. Fast-track offers, featured slots, “add our badge to rank higher” and premium plans are noted but never clicked.
The verification log has 69 entries, 37 of them confirmed verifications. Founderhood, LaunchFree, Viesearch, LinkCentre, ShipGrowth, FindASaaS and Lifto all told us they were live by email before any manual check caught it.
4. Keep one master tracker, and check it every week
One row per domain: submit URL, status, live URL, scheduled date, follow/nofollow, method, and timestamped notes. A status changes only with evidence: an on-page confirmation, an email, or a public page that loads with our name on it.
Once a week, a pending check probes public URLs (no login, payment or codes) and moves rows to live. The 26 October check moved eight rows from submitted to live.
Two warnings from experience:
- Back up the tracker. At one point our CSV was truncated mid-write and had to be rebuilt from batch logs and queue files. Some domains that existed only in the lost section may still be missing. We now keep dated backups.
- “Live” can mean different things. One of our “live” rows has a public page but is actually in a launch queue until early 2027 (PeerPush). One has a listing URL we couldn’t load because of rate limits (CryptoIndustry). One was confirmed only by the platform’s email, with a dashboard URL (GoodFirms). Without those three, the strict live count is 17. Write down how you know something is live.
5. Batch the browser work
The agent worked in batches of about a dozen domains: 29 browser batches plus two scripted batches for simple classic directories, each with its own queue file and log. Batches keep rate limits manageable, produce a reviewable log, and can be redone in isolation.
One gotcha: on single-page apps, a click before the page finishes loading can save nothing. Always confirm the success message.
6. What got rejected, so you can pre-screen
All three rejections were about fit, not quality:
- TinyLaunch: the product “does not align with the kind of products TinyLaunch wants to showcase.”
- Saaspa.ge: doesn’t list investing, trading or crypto products, and editing the listing wouldn’t change that.
- startups.watch: only for startups in Turkey and the Turkish diaspora. The notice was on the site; we should have caught it.
If you’re in finance or crypto, expect a share of general startup directories to turn you away. Check the guidelines or browse the categories first. If no finance or crypto products are listed, that tells you something. Check geography restrictions before you submit, too.
7. What got blocked
The 85 blocked rows fall into a few recurring groups (rough tags from our notes, not an exact split):
- Captcha and bot walls: Cloudflare blocks where the form never rendered (findstack.com, saasworthy.com, 10words.io). A simple image captcha was fine once (RelatedDirectory, now live); we didn’t fight hard blocks.
- OAuth-only login (10015.io, toshilist.com). We chose not to connect personal accounts.
- Paywalls dressed as free: free means nofollow and dofollow is paid, or “free” leads to a checkout.
- Broken forms: assets that never load, empty pages, password rules that contradict each other.
- Required private data: phone, revenue, marketing budget. We gave none.
8. Results by site type
| Site type | Live | Examples |
|---|---|---|
| Indie launch boards / product directories | 13 | founderhood.app, indieneed.com, launchfree.io, launchpadindia.co, liftoapp.com, shipgrowth.dev, findasaas.com, superlaun.ch, sololaunches.com, tinystartups.com, indiehackerstacks.com, toolsnocode.com, peerpush.com (queued) |
| Classic web directories | 5 | linkcentre.com, relateddirectory.org, viesearch.com, meweblink.com, webdirectorylisting.com |
| Niche / B2B profiles | 2 | cryptoindustry.com, goodfirms.co |
Instant-publish boards and some classic directories went live the same day. Human-reviewed ones took about 1–4 days (LaunchFree about 1, Founderhood and Viesearch about 2, LinkCentre 4). Scheduled boards took 6–9 days (ShipGrowth 30 Oct, FindASaaS 2 Nov, Lifto 2 Nov). Some free queues run into 2027 (whatlaunched.today, uneed.best). From the scripted classic-directory batch, 38 were attempted, 11 submitted and 3 are live.
One honest note: uneed.best requires a minimum upvote score on launch day for the listing to stay published. That sits uneasily with our own no-upvote-gate rule, and we’re still deciding whether to keep it.
9. The limit of generic directories: AI answers cite data, not directories
On 3 November we ran a baseline: 15 tracked queries in our niche (XAUT vs PAXG, tokenized gold premium, gold holding cost, and so on) through a search tool with an AI-written summary, plus 10 broader questions.
- StackFi was cited in the top 5 for 3 of 15 queries (tokenized gold premium, PAXG premium tracker, tokenized stock premium), and for 3 of the 10 broader questions.
- Every one of those citations went to an original data page: our premium history, premium tracker or tokenized-stock data, or a comparison page.
- None of the 20 directories we’re listed on appeared as a cited source in either check. Cited sources were exchange and wallet education blogs, data platforms, big finance media and regulators.
We tested only one AI-summarized search surface, not ChatGPT, Perplexity, Gemini or Claude directly, so treat this as a directional signal. Directories give a new domain baseline links and discovery. They don’t make you the source an answer engine quotes. (If you want the research behind that, I wrote up what GEO studies say AI search engines prefer to cite.)
10. Where we’re going next: plan around citations
We’ve stopped treating “more directories” as the plan. Instead:
- Plan from cited pages. For each tracked question, find the pages answer engines cite and ask whether a StackFi number fills a gap there. We re-run the baseline weekly.
- Publish open data where data gets found. Three datasets (XAUT/PAXG premium history, gold price history, coin melt values) are packaged for Zenodo, Kaggle and Hugging Face. Nothing is uploaded yet; that waits for my approval.
- One-to-one outreach, human approved. The agent quotes the exact sentence our data improves and drafts a pitch of under 120 words, one per domain per week at most. It never guesses email addresses, using only published bylines, editorial addresses or contact forms. It drafts and stops; a human sends. First batch: 10 pages reviewed, 5 drafts ready, 3 with no usable contact, 1 duplicate domain, 1 unverifiable.
11. Where the human stays in the loop
The agent must not:
- send emails or messages as us (it only drafts);
- pay for anything, including “optional” support or $3 dofollow upgrades;
- post publicly as us, or place badges or links on our site;
- connect personal OAuth accounts or invent data such as phone numbers, revenue or customers.
Judgment calls come to us. For example, GoodFirms had no option for our country or region in its list, and a human had to decide what to enter.
Mistakes and corrections along the way:
- The Indie Need logo rejection (above) led to a template fix.
- A stale weekly report: one report still listed items as “needs you” that had already been handled. GoodFirms, for instance, showed up as needing verification after it was already live. The report now rebuilds from the tracker instead of carrying items forward.
- A free slot that wasn’t there: Lifto’s free slots for 25–30 October were full, so the listing went into the next free day, 2 November, rather than a paid earlier slot.
- The tracker truncation (above) led to dated backups.
Steps you can copy
- Write your rules down first: free only, no badge, no reciprocal, no upvote gates, no profile-only links.
- Build an asset pack: a fixed public contact, a square logo (≥256px, not a banner crop), a 16:9 screenshot, and 1-line, short, medium and long descriptions.
- Make sure your listing facts match your About page and schema.
- Use a dedicated signup inbox and an email-triggered routine for verify links and codes, status logging, and ignoring upsells.
- Keep one tracker with clear statuses, evidence for each change, and dated backups.
- Run a weekly public-URL pending check.
- Pre-screen for niche (finance/crypto) and geography before you submit.
- Skip hard bot walls and OAuth-only sites unless you’re happy to connect that account.
- Record follow/nofollow from the live page HTML, not from the pricing page.
- Baseline which pages answer engines cite in your niche, before and after.
- Put your original data where data gets indexed, and pitch it one to one, with a human hitting send.
What didn’t work
- Volume for its own sake. About 1,300 harvested domains came down to 20 live listings, and only about 7 have confirmed followed links.
- General startup directories for a finance or crypto product. All three rejections were about fit.
- “Free” tiers. Many required a badge, backlink maintenance or a paid plan before the link counted.
- Expecting directories to earn AI citations. In our baseline, none did.
- Trusting a click. A single-page-app form can look submitted and save nothing.
Caveats
This covers 11 days, and most links are less than a week old. We have no ranking or traffic results to report, and we make no claims about them. Follow/nofollow status is unverified for nearly half of the live listings. Our AI-citation baseline used one search surface and a small, hand-picked query set. Several “live” rows rest on a platform email rather than a page we could load. I’ll update this post when we have before-and-after data.