A curated alternatives directory whose free tier wants DR 25, real traffic, a permanent badge and three clicks on this week's launches.

A full walkthrough of this form for your AI agent: every field, limit and trap. The placeholders come from your submission pack (template with a live example).
You are an AI agent with browser automation (Chrome connector, Playwright, browser-use or similar). Submit my product to Alternative.tools' free tier end to end. My submission pack is pasted at the bottom; it is the single source of truth for every answer. Do not invent copy.
My product: {NAME} ({URL})
ELIGIBILITY GATE: READ FIRST
1. The free tier requires Ahrefs DR 25+, 1,000+ monthly visitors, editorial approval ('not every submission is approved') and a permanent 'Featured on' badge on my site. If my product does not clearly pass all of that, STOP and report; a rejected submission cannot be resubmitted cleanly and listings are edited only by emailing [email protected]. The $19 premium tier skips every floor and the badge, but paying is my decision.
BEFORE YOU START
2. Open a fresh tab at https://alternative.tools/submit and run: window.confirm = () => true; window.alert = () => {}; This engine family (Toolfio, DodoDirectory, Web Review) uses native dialogs that freeze CDP-driven tools. Re-run after any full reload.
THE CLICK GATE
3. Choosing Get Free Listing does not open a form. It opens a 'Support the community' step: you must open 3 of this week's launches ('0 / 3 visited') before the flow continues. Click three Visit links (they open in background tabs; close them after), wait for '3 / 3 visited', then click 'Confirm free submission'.
THE FORM (no account needed)
4. Inputs are React-controlled: fill with the native value setter plus 'input' and 'change' events, never plain .value. Fields: Link ({URL}), Name ({NAME}), Description (max 160 chars here, tighter than its siblings; compress my one-liner), Introduction (max 1,000 chars; the editor is CodeMirror, set via document.querySelector('.CodeMirror').CodeMirror.setValue(text) with a trimmed version of my pack's long description).
5. Categories and tags are custom dropdowns needing real clicks; verify the chips render. Pick up to three categories matching my pack plus the pricing tag.
6. Media: one 16:9 cover image, 1MB max (no separate icon on this variant). Fetch my pack's OG image in the page, canvas-crop to 16:9, build a File, inject into the input named dropzone-file-image via DataTransfer plus a 'change' event. If cross-origin fetch hangs, fall back to the clipboard route: base64 the file in a terminal onto the clipboard, paste into a temp in-page textarea with a real cmd+v, decode into a File, inject.
7. Contact: my pack's email. LinkedIn and X are optional. Tick the two required checkboxes (content policy, terms) with real clicks and confirm they are VISIBLY checked; skip the promotional one.
THE HONEYPOT
8. This variant's honeypot input is named company_website. It must be EMPTY at submit time; anything in it makes the submission vanish silently. Do not let autofill touch it.
SUBMIT AND VERIFY
9. Expect the family's upsell layer on submit (modal or a payment-page re-pitch); the quiet free-path button ('Continue with Free' or 'Submit & Wait') is the real trigger. Mark performance.getEntriesByType('resource').length before the click and diff after: zero new requests means a client-side block (honeypot, checkbox), not success.
10. Free listings get an editorial review within 14 days; the badge must already be on my site and stay there permanently (removal delists). Approval lands by email.
11. Report back: plan submitted, the 14-day review window, the DR/traffic floors that reviewers apply, and that later edits go through [email protected].
MY PACK:
{PACK}