Directory research agent
Every place you can list your product becomes one checked list.
A new product needs to be listed in the places where buyers and other sites look for products: AI tool directories, startup directories, launch platforms, SaaS lists. Finding them is slow work. The same lists appear in every search, many accept nothing new, and some quietly cost money. Nobody keeps one list with the cost and the requirements next to each name.
Running on our own company since Oct 16, 2026 · Directory sites · Risk: Low. Everything on this page is public; there is nothing to sign in for.
Tasks and outputs
What it takes on
Search
Runs the queries from the query file and collects candidate directories, startup lists and launch platforms.
Read the submit page
Opens each candidate’s submit page and reads what it accepts, what it costs and what it requires.
Record and publish
Adds the rows through the list helper, regenerates the website’s JSON copy, commits and pushes both files, and triggers the deploy.
Who it is for: Teams that want a single, checked list of the places they can publish to, before they spend an afternoon (or an agent run) filling in forms.
How we use it: Live since October 2026. Each run adds up to 15 platforms to a public list, and every row was read from the platform’s own submit page. The list is public on this site, with name, type, link, cost and listing status. A second agent, directory submissions, reads this list; the two never edit the same file.
A listing on a directory is one of the places AI answer engines look when they decide which products to name, so this list is the first half of the third-party work in our AEO service. See your own AI visibility baseline
What goes on the list, and what does not
01At most 15 new rows per run, and never a domain that is already listed.
02Every row comes from the platform’s own submit page. A page that could not be read is listed only if a named secondary guide covers it, and the notes say it was not checked on the site.
03Cost and requirements are never guessed: what could not be read is written as unknown.
04Paid platforms, reciprocal-link platforms and launch sites such as Product Hunt are all listed and marked. Nothing is left out for being paid.
05The agent only reads. It never submits anything anywhere and never writes the submissions file.
The rules the agent’s output is written to, from the file named above. This site prints no example output; what the agent has shipped is in its run log.
Workflow
How a run goes, step by step
Pick a step to see what goes in, what comes out, and where a person is involved.
Step 1 of 5
Read what is known
Reads the tracked list and the product profile, so a run starts from what is already listed and knows what the product is.
The list file and the product profile
The domains to skip and the kind of platform that fits
Nobody.
Step 2 of 5
Search
Runs four to six queries from the query file in a web search and collects candidate platforms.
The query file
A set of candidate platforms
A person edits the query file between runs to widen or change the search.
Step 3 of 5
Read each submit page
Opens each candidate’s submit page and reads what it accepts, its cost and its requirements.
Each candidate’s submit page
Type, cost and needs for each candidate, or a reason to reject it
Nobody. A page that cannot be read is listed from a named guide with a note, or dropped.
Step 4 of 5
Record and export
Adds one row per platform through the list helper, which checks every value, then regenerates the JSON copy the website reads.
The platforms found this run
New rows in Workflows/directory-research/directories.md and web/content/directories.json
Nobody in this step.
Step 5 of 5
Commit, push, deploy
Commits only the list file and its JSON copy, pushes, and triggers the deploy that updates the public list and the run log.
The two changed files
A live deploy showing the new rows
When the push conflicts with another edit: a person resolves it by hand.
Before you start
What you’ll need to bring
Company material
A product profile: what the product is and who buys it, so the agent can tell which platforms fit.
Source material
None beyond the open web.
Platform account
None. Nothing here signs in anywhere.
Run environment
Any machine with Node.js and an agent runner that follows a written workflow and can search and fetch pages. We use Claude Code.
Run log
Recent runs, as they happened
The full log is public and read-only. It holds every run on record, including the ones that stopped to wait for a person.
View the full run logGuides and files
Set it up yourself
The setup guide, and the files the agent is built from. You run it in your own environment, with your own accounts.
- 01
Runtime
- Node.js, for the three small scripts (no packages to install).
- An agent runner that follows a written workflow and can search the web and fetch pages. Ours is Claude Code, run on demand today rather than on a schedule.
- 02
Browser setup
- None. The agent reads pages; it does not click, sign in or submit anything.
- 03
Account setup
- None. Every platform is read from its public pages. The agent never creates an account.
- 04
Configuration
- The query list, a plain Markdown file. Add a line to point a run at a new kind of platform.
- The product profile, which says what the product is and who it is for. The agent uses it only to judge whether a platform fits.
- The batch size, 15 new rows per run.
- 05
First run
- Run the workflow once and read the new rows. Open three of the submit links yourself and check the cost and the requirements the agent wrote.
- Run the JSON export step and check that the public list shows the same rows.
- Run the workflow a second time and check that it adds no row for a domain already listed.
directory-research.md
Workflow · Markdown. The written steps the agent follows, with its hard rules.
directories.md
List file · Markdown. The system of record: one row per platform. Only this agent writes it.
queries.md
Queries · Markdown. The search queries a run uses. A person edits it.
directories-md.mjs
Script · Node. Adds a row after checking every value; lists the file.
md-table.mjs
Module · Node. Reads and writes the Markdown tables; the one place that parses them.
export-to-web-json.mjs
Script · Node. Joins the list and the submissions file into the website’s JSON copy.
Not packaged for public download yet. The guide on the left describes what each one does, step by step, so you can rebuild the setup; the Hosted and Fully managed tiers run them for you today.
Rather have us run it?
Hosted: your accounts in a cloud browser we run, and you review what goes out. Fully managed: we set the strategy and run the agents.
Good to know
Where it stops and asks for you
- A submit page blocks automated reading. The platform is listed only if a named guide covers it, and the notes say it was not checked on the site. Otherwise it is left out of this run.
- A domain is already on the list. The helper refuses the row, and the run goes on to the next candidate.
- A value is outside the fixed lists, or a link is not https. The helper refuses the row and says which value; nothing is written.
- The push conflicts with another edit. The run stops and reports it. The commit stays safe locally until a person resolves the conflict.
Risk notice
What to watch for
- A platform’s cost, rules and even its existence change without notice. A row is correct on the day it was read, and the list does not re-check old rows.
- The agent reads pages only. A platform that blocks automated reading is listed from a secondary source at best, and the row says so.
- A listed platform is not an endorsement. Some are low quality, and a link from a poor directory can do no good. The list carries type and cost so a person can choose.
FAQ
Questions about this agent
A row says the cost was not checked on the site.
Some platforms block automated fetches (HTTP 403). The agent then adds the row only if a secondary guide names the platform, says so in the notes, and does not claim the cost as verified. Open the submit link to confirm.
A platform is on the list but we do not want to be on it.
The list only says that the platform accepts submissions. Whether to submit is a choice for the submission agent’s rules and for a person: paid platforms are never submitted to.
Why does the list include paid and reciprocal-link platforms?
The list is the full picture. Each row says what a platform costs and what it needs; the agent that submits decides what it may do with that, and a person decides on money.
Would you rather we ran this agent for you? There is a managed service for that.
Talk to us