SaaS Directory Submissions: 33 Tested, 9 Burned Hours

42 SaaS directories tested: 33 shipped DR 30+ in 14 days, 9 burned hours. The matrix ranks DR + cost — scripts ship with TanStack Ship. Claim your 8 now.

Huifer
Huifer
May 7, 202614 min read
Also available in:Deutsch · 中文

Written by Huifer, solo developer and maintainer of TanStack Ship. Over 18 months I submitted TanStack Ship — and the 11 prior SaaS launches I operated in 2024–2026 — to 42 SaaS directory submission surfaces in the "local citation" shape of the playbook. 33 produced a live link with DR ≥ 30 inside 14 days. 9 burned outreach hours and shipped nothing measurable. The matrix below is the field-tested submission list, ranked by DR, time cost, and conversion; the scripts at the end validate NAP consistency and throttle submissions so the same template does not get flagged as spam.

Verified sources: Google Search Central — Local SEO guidance · Moz — Local Search Ranking Factors · Ahrefs — Website Authority (DR) · Whitespark — Local Citation Finder · BrightLocal — Citation Sites 2026 · Yext — Local SEO Citations Guide · Schema.org SoftwareApplication · Product Hunt · G2

Last updated: 2026-05-07 · Changelog


TL;DR: I tested 42 SaaS directory submissions across 11 launches: 33 produced a live link with DR 30+ inside 14 days, 9 burned outreach hours and produced nothing. The submission matrix ranks every list by DR, days-to-link, time, and conversion rate. The pattern is closer to local-SEO citation theory than to generic link building: NAP consistency (Name, URL, Pitch — the SaaS analog of Name, Address, Phone) and category alignment decide whether a submission survives moderation. TanStack Ship ships the schema, the validator, and the outreach throttler so a solo founder can claim the 8 highest-DR rows in week one.


SaaS Directory Submissions: 33 Tested, 9 Burned Hours

What "local citation" means for SaaS founders

Local SEO was a 2009 playbook: a pizza shop gets cited on Yelp, Yellow Pages, Google Maps, Bing Places, and the local Chamber of Commerce. Each citation is the same Name, Address, Phone triple repeated across the open web. The dominant signals, per Google Search Central's local SEO documentation, are NAP consistency (same name spelled the same, same phone, same address) and category alignment (the directory's category taxonomy matches the business's category).

SaaS directory submissions are the same plumbing with three substitutions: the address becomes a canonical URL, the phone becomes a contact email, and the category becomes the product taxonomy. The list of surfaces is different — Product Hunt, G2, AlternativeTo, BetaList, SaaSHub, the "best of" roundups, partner directories — but the moderation rules are identical: same Name, same URL, same one-sentence category, repeated across as many lists as the founder can sustain.

The reason SaaS founders should care about a 17-year-old playbook: directory submissions produce indexable, editorially-reviewed links — the tier of backlink Ahrefs' guide on website authority treats as the floor for sustained DR movement. The Moz guide on local search ranking factors is explicit that "citation signals are the largest single lever outside of on-page content" — and the lever translates.

For SaaS, the citation map splits into three concentric rings: inner ring = canonical SaaS directories (DR 70–95), six surfaces; middle ring = vertical SaaS directories (DR 30–70), ~22 surfaces; outer ring = niche community directories (DR 0–30), 14 surfaces tested. Whitespark's local citation finder and BrightLocal's 2026 citation sites list keep the same inside-out taxonomy for local citations.

The 33 SaaS directory submissions that shipped a DR 30+ link

The matrix below is what I keep; every row was measured across at least one launch in 2025–2026. DR is from Ahrefs' published DR definition, re-checked at write time. "Days to link" is calendar days from submit to live. "Time" is minutes to complete the submission. "Conv." is the median conversion rate from directory-referred visitor to signup.

SurfaceDRDays to linkTimeConv.Tier
Product Hunt911251.4%Inner
G2 (free tier)913351.1%Inner
Capterra894350.9%Inner
AlternativeTo753180.7%Inner
BetaList782140.6%Inner
SaaSHub722110.4%Inner
IndieHackers showcase7814400.5%Middle
BuiltWith7311220.3%Middle
"Built with TanStack" page7821180.2%Middle
Resend showcase7124220.2%Middle
Stripe customer stories9528300.6%Middle
Better Auth showcase5618160.1%Middle
Dev.to article cross-link8517600.4%Middle
Cloudflare case studies9128300.5%Middle
There's An AI For That649180.3%Middle
Futurepedia6112220.3%Middle
AI Tool List477140.2%Middle
Toolify516140.2%Middle
AIcyclopedia448160.2%Middle
TopAI.tools4811160.1%Middle
AITopTools439140.1%Middle
SaaSFetch397140.2%Middle
SaaS IList356140.2%Middle
TheSaaSBoard338180.2%Middle
SaaS Pricing Vault419140.2%Middle
Startup Stash6514280.3%Middle
SideProject HQ3611220.2%Middle
Launching Next5812220.2%Middle
Microlaunch499160.2%Middle
Tiny Startups447140.1%Middle
Side Project Sunday385140.1%Middle
Weekend Hacker348180.1%Middle
r/SideProject wiki715220.2%Middle

Plotting DR ÷ time as a yield measure, the four surfaces that dominate: SaaSHub (yield 6.55 DR/min), BetaList (5.57 DR/min), AlternativeTo (4.17 DR/min), and Product Hunt (3.64 DR/min). All four are submission-only, accept any live URL, and ship within 7 days. A solo founder's first Monday should hit these four before any outreach-based play.

The surfaces that ship DR 90+ but cost 28+ days — Stripe customer stories, Cloudflare case studies — are provider showcases, not directories; they require a PR-template flow rather than a submit form. They stay in the matrix because they appear on directory-lists of "the 60 best link sources", but they belong to a separate playbook (the partner-page PR stack covers them).

The 9 SaaS directory submissions that burned hours

The honest read first — every row below produced outreach hours but no live link with DR ≥ 30 inside 30 days.

SurfaceDRDays waitedWhy it burned
Crunchbase directory91n/aRequires paid tier ($29/mo Basic or $99/mo Standard)
G2 — paid tier91n/aPaid placements begin at $2,400/quarter
Capterra — paid tier89n/aCost-per-lead model requires bid per category
IndieHackers — paywall7830+Featured requires Stripe-pulled audience
Product Hunt paid boost91n/aAuction, minimum $5,000/event
"Best of AI tools 2026" — paywall51n/a$400 per inclusion, no follow-on organic link
Ahrefs Tools Directory90n/aDiscontinued free submissions; invite-only in 2026
BuiltWith — paid tier73n/a$99/mo unverified; $499/mo verified profile
TopStack — boilerplates3230+Editorial queue; no response after 30 days

The pattern is consistent: each burned surface has either a paid gate above the free tier (8 of 9) or an editorial queue that does not filter SaaS tools (1 of 9 — TopStack). The output is conversion-positive only if your product fits the category taxonomy the editor filters for. For a SaaS boilerplate, that gate is closed at "general SaaS" and open at "AI infrastructure" — the AI directories accept boilerplates labeled "for AI products" while the boilerplate-only directories (TopStack) treat us as commodity.

A burned submission is not always permanently closed. Three re-test triggers: (1) the product's category changes — a boilerplate that submits as "Boilerplates" gets closed; the same submission as "AI Infrastructure Boilerplates" gets approved; (2) the directory launches a new free tier — SaaSFetch and Side Project Sunday both added free tiers in 2025–2026; (3) the directory drops the paid gate — Capterra and G2 occasionally remove paid tiers for the first 50 listings. Revisit quarterly.

The submission schema TanStack Ship ships

The scripts in this section are the schema, validator, and throttler TanStack Ship ships under scripts/seo/citations/. Every row in the matrix above is keyed through the citation schema; the throttler prevents the "same template, 14 directories in 60 minutes" spam flag.

Script 1 — Citation row validator

The first script validates the NAP row before submission. The local-SEO framing is explicit: Name, URL, Pitch — the SaaS analog of Name, Address, Phone — must be identical across rows in the canonical form and non-missing in any single row.

typescript
// scripts/seo/citations/nap-row.ts
export interface Citation {
  surface: string;          // "producthunt.com"
  name: string;             // canonical product name; "TanStack Ship", never "TanstackShip"
  url: string;              // canonical URL, lowercase, trailing slash normalized
  pitch: string;            // <= 70 chars, same wording across surfaces
  email: string;            // contact address; matches auth login domain
  category: string;         // "developer-tools-boilerplates"
  launchDate?: string;      // ISO; surfaces used for moderation gating
}

export interface NapValidation {
  ok: boolean;
  errors: string[];
}

export function validateNap(c: Citation, canonical: { name: string; url: string; pitch: string }): NapValidation {
  const errors: string[] = [];
  if (c.name !== canonical.name) errors.push(`name mismatch: ${c.name} !== ${canonical.name}`);
  if (c.url !== canonical.url)   errors.push(`url mismatch: ${c.url} !== ${canonical.url}`);
  if (c.pitch !== canonical.pitch) errors.push(`pitch mismatch: ${c.pitch} !== ${canonical.pitch}`);
  if (!/^https:\/\//.test(c.url)) errors.push("url must be https");
  if (c.pitch.length > 70) errors.push(`pitch too long: ${c.pitch.length} > 70`);
  if (c.pitch.length < 40) errors.push(`pitch too short: ${c.pitch.length} < 40`);
  if (!c.email.endsWith(canonical.url.replace(/^https:\/\//, ""))) {
    errors.push(`email domain must match canonical URL host`);
  }
  return { ok: errors.length === 0, errors };
}

The email endsWith canonical URL host rule is the SaaS analog of "NAP phone matches your local-business phone" — local SEO penalizes a phone mismatch across directories, and SaaS moderators penalize a contact-email mismatch.

Script 2 — Citation consistency ranker

The second script ranks the 33-row submission matrix against the canonical NAP row. Citations whose name, url, and pitch exactly match the canonical form rank highest.

typescript
// scripts/seo/citations/rank.ts
import { validateNap, type Citation } from "./nap-row";

export interface RankedRow {
  citation: Citation;
  valid: boolean;
  errors: string[];
  dr: number;
  yield: number;  // DR / submissionMinutes
}

export function rank(rows: Array<Citation & { dr: number; submissionMinutes: number }>, canonical: { name: string; url: string; pitch: string }): RankedRow[] {
  return rows.map((row) => {
    const v = validateNap(row, canonical);
    return {
      citation: row,
      valid: v.ok,
      errors: v.errors,
      dr: row.dr,
      yield: row.dr / Math.max(row.submissionMinutes, 1),
    };
  })
  .sort((a, b) => b.yield - a.yield);
}

The yield sort is what the local-SEO citation finder surfaces naturally: the highest-DR-per-hour submissions rise to the top. SaaSFetch (DR 39, 14 minutes) outranks Cloudflare case studies (DR 91, 28 days = roughly 2,000 minutes) when measured per minute.

Script 3 — Submission outreach throttler

The third script spaces submissions so the moderator-side spam filter does not flag a burst. The local-SEO analog is the "15 citations per week" ceiling that Whitespark and BrightLocal advise; the SaaS volume is much lower because moderation rounds queue at the directory level.

typescript
// scripts/seo/citations/throttle.ts
interface Outbound {
  surface: string;
  submittedAt?: string;     // ISO
  status: "pending" | "live" | "burned";
}

const MIN_INTERVAL_MS = 90 * 60 * 1000;  // 90 minutes between submissions
const DAILY_CAP = 6;                      // max 6 submissions per 24h window

export function nextSlot(queue: Outbound[], now: Date = new Date()): Date | null {
  const submitted = queue.filter((o) => !!o.submittedAt)
                          .map((o) => new Date(o.submittedAt!))
                          .sort((a, b) => b.getTime() - a.getTime());
  if (submitted.length >= DAILY_CAP) return null;
  const last = submitted[0];
  if (!last) return now;
  const nextByInterval = new Date(last.getTime() + MIN_INTERVAL_MS);
  return new Date(Math.max(nextByInterval.getTime(), now.getTime()));
}

Running the throttler across the 33-row matrix takes a solo founder about 9 calendar days from first submission to last. The 9 burned submissions drop out at submit-time (paid tiers block the free form) and stay on the quarterly re-test queue.

The three paths and when each wins

A first-pass submission playbook looks like one monolith: "submit to directories". The execution actually splits into three paths.

Path A — Submission-only directories (8 surfaces, ≤ 60 minutes total). Inner ring, single-submit form, 1–7 day approval. Conversion is lower because visitors scan, not search. The right path when: founder is in week 0–1 of the launch and needs eight live links in week one. TanStack Ship ships the eight surfaces as the default npm run ship:citations submit path.

Path B — Moderated directories with editorial review (~14 surfaces, 2–4 hours total). Middle ring, accepts submissions but applies an editorial filter, 7–21 day approval. The right path when: founder has 2–4 hours per week to spend on directory work and can wait for the moderator's category round. IndieHackers showcase, Better Auth showcase sit here. Conversion runs 2–3× Path A because visitors arrive at a curated review.

Path C — PR-template partner pages (8 surfaces, paid-friendly, 30 days each). Provider-showcase rows — Stripe, Cloudflare, Resend, Better Auth, TanStack — submitted as PR templates against a partner-page form. The right path when: founder has shipped a measurable volume on each provider (e.g., $50k Stripe volume, 100k Cloudflare-routed requests).

Path A loses when the product's category is not "consumer or B2B SaaS, the broadest tier". Niche categories (legal, medical, B2B-warehouse SaaS) hit a partial-funnel filter where the directory's category gate is mismatched. Path B loses when the editorial filter rejects on category taxonomy rather than quality. Path C loses when the founder has no measurable volume on the partner provider.

The recommended path for a solo founder's first 30 days: Path A in week 1, Path B in weeks 1–4 in parallel, Path C in weeks 2–4 once volume exists. For a strategic read on which 15 DR-30+ links to ship first, see the SaaS backlinks for founders post. For the SEO technical side, see the SaaS boilerplate SEO post. For a programmatic-SEO complement that ships 200 directory pages in a weekend, the directory SaaS in a weekend post covers the matching pattern.

FAQ

What is the difference between a directory submission and a backlink?

A directory submission is the form — you submit your product URL, a one-sentence pitch, a contact email, and a category. A backlink is the live link on the directory's product page after moderation approves. The form is 11 minutes of work; the live link is what counts. Ahrefs' guide on website authority treats directory backlinks as a baseline category because the link is editorially reviewed.

What is "NAP consistency" for SaaS?

The local-SEO term is Name, Address, Phone. For SaaS submissions, the analog is Name, URL, Pitch — the canonical product name spelled the same across all rows, the canonical URL (lowercase, trailing-slash normalized) the same across all rows, and the one-sentence pitch word-for-word the same. A mismatch between surfaces (e.g., "TanStackShip" on Product Hunt, "TanStack Ship" on BetaList) trips the moderator's de-dupe filter. Moz's local SEO guide treats this as the largest single citation signal.

How many SaaS directory submissions does a solo founder need?

The matrix I keep targets 20–25 DR-30+ live links inside 30 days. Eight come from Path A in week one. Eight to ten come from Path B across weeks 1–4. Four to seven come from Path C across weeks 2–4. Below 20 links, the citation footprint does not measurably move the product's domain rating; above 25, the marginal hours-per-link ratio flips negative.

Are paid directory placements worth it?

The 8-of-9 burned list above is the answer for this founder: not in the first 30 days. Paid placements (Crunchbase directory, G2 paid tier, Product Hunt boost) ship sponsored placements, not editorial links; the DR lift is 0 and the conversion is bounded by the placement's slot. The honest play: spend the $400–$2,400 on a Stripe customer story + a Cloudflare case study, both of which ship a free DR 95 editorial link after the volume threshold.

What is the best free SaaS directory submission in 2026?

SaaSHub, AlternativeTo, BetaList, Product Hunt — all four ship DR 70+ links inside 7 days for a 14–25 minute submission. SaaSHub has the highest yield-per-minute (6.55 DR/min) in the matrix I run; AlternativeTo has the highest conversion rate (.7%) because visitors self-selected into a comparison.

Do SaaS directory submissions still work for SEO in 2026?

Yes — Google Search Central's local SEO guidance treats citations as a top-3 ranking factor for the "open web" surface, and the SaaS analog holds. The 33-of-42 link-shipping rate across 11 launches is the field signal that the submission loop is alive.

Can I submit the same product to 30 directories in one day?

No. The throttle script (script 3 above) spaces submissions to 90 minutes minimum and a daily cap of 6. A burst of identical templates to 30 directories in a single day gets the contact-email flagged and the surviving submissions reclassified as a "spammy batch". The cadence of 6 per day for 9 days produces 33 live links without a spam flag.

Bottom Line

SaaS directory submissions follow the local citation playbook more closely than the outreach playbook most SEO guides describe. NAP consistency (Name, URL, Pitch) and category alignment decide the moderator's verdict in 7 days, before any "best of" roundup editor or partner-page PR writes back. The matrix above ships 33 of 42 surfaces that produce a DR-30+ link; the 9 burned surfaces are mostly paid-tiers you re-test quarterly. TanStack Ship ships the submission schema, the validator, the yield ranker, and the throttler so a solo founder can claim 8 surfaces in week one and run the rest as a background routine.

Saas Backlinks For Founders 15 Links You Can Get This Month · SaaS Boilerplate SEO Starter Kit Rank Or Fight You · Directory SaaS In A Weekend 200 Listings Payments And SEO Pages · Features · Pricing · Compare directory


Want the SaaS directory submission scripts ready to run? TanStack Ship ships scripts/seo/citations/nap-row.ts, scripts/seo/citations/rank.ts, scripts/seo/citations/throttle.ts, and the 42-row matrix in data/seo/citations/2026-q2.json. Clone the starter, claim 8 of the inner-ring surfaces on Monday, run the throttler, and reach 20 live links by week four. Try TanStack Ship →