LotsDirectory

Launch once, get found everywhere: a product page built for search and AI, run from your AI agent.

Hosted MCP Server

npx add-mcp 'https://api.lots.directory/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Ask your agent, for example.

Once LotsDirectory is connected, plain requests like these work.

Connect in two minutes.

Claude

Settings → Connectors → Add custom connector. Paste the URL, connect, and sign in with your Lots account.

ChatGPT

Settings → Apps & Connectors → Advanced → turn on Developer mode, then Create a connector with the URL and sign in.

Claude Code

claude mcp add --transport http lots-directory https://api.lots.directory/mcp

Codex

codex mcp add lots-directory --url https://api.lots.directory/mcp

Cursor, Windsurf and others

{
  "mcpServers": {
    "lots-directory": {
      "url": "https://api.lots.directory/mcp"
    }
  }
}

Cloud agents without MCP

Give the agent https://api.lots.directory/docs.md and an API key from lotstech.com/api. It calls the REST API with Authorization: Bearer <key>.

Every server uses OAuth: your agent acts as you, inside your own roles and workspaces. You can disconnect it at any time from the app.

36 tools, also REST endpoints.

Each tool is available over MCP and as a REST endpoint under https://api.lots.directory/api/v1/lotsdirectory.

Answer a question

PATCH /questions/:id

Answer a question on a listing you own.

Check the LotsDirectory badge

POST /listings/:id/verify-badge

Check that the product's website shows the LotsDirectory badge (a link to lots.directory/products/<slug>; the snippet is in get_my_listing badge.snippet). Found: the listing becomes Verified, its link to the website is followed while the badge is live, and a free listing waiting for its badge publishes. The result says what was read and why the badge was not found (for example a page built only with JavaScript).

Complete product image upload

POST /images/uploads/complete

Verify actual uploaded bytes and reserved size/type before attaching an image. Returns URL; at most 8 distinct images per listing including logo and cover.

Confirm Directory Pro payment

Confirm a Directory Pro payment after checkout return. Activates only a paid order for this product and owner. Repeating it does not extend promotion.

Create product image upload

POST /images/uploads

Upload a local image: obtain a 15-minute signed PUT URL, upload bytes, then complete_listing_image_upload. Exact size, at most 2 MB. JPEG/PNG/WebP/GIF only.

Delete unused product image

POST /images/delete

Delete an uploaded image you own. Remove it from the listing and save first. Frees an unattached upload slot.

Get category

GET /public/categories/:slug

Get a category with its published products.

Get Directory offer

Read the current Directory offer, price, image limits, verified directory count, and how Domain Rating is tracked (Directory Pro daily, free Verified listings weekly). Price is present only when $20 checkout is actually enabled.

Get Domain Rating history

Read the Domain Rating series for a product you own: current value, when it was checked, the best value, and the last 90 days. Directory Pro products are checked every day; free Verified products (the LotsDirectory badge on your website) once a week, on Mondays. Unclaimed and Claimed products are not tracked. Domain Rating by Ahrefs.

Get my product

GET /listings/:id

Get full details of a listing you own (for editing), including trust_state; badge: the copy-paste badge snippet, the last badge checks, and whether the listing waits for its badge to publish; launch: its launch week (status upcoming, live or ended), its place and votes on the weekly board, pickable weeks for Directory Pro (set_launch_week), and any Product of the Week wins with their badge snippet; and traffic: the last 30 days of page views, clicks to the product website, and reads by AI crawlers (GPTBot, ClaudeBot, PerplexityBot and others, from the user agent).

Get my profile

GET /me/profile

Get the authenticated maker profile, with email_preferences: dr_updates (new all-time high Domain Rating), launch_results (Product of the Week) and badge_alerts (badge missing on a Verified product). All are on by default; every email has a one-click unsubscribe link.

Get one directory

Read one audited directory and the progress saved for a product you own: submit link, relevance_tier, newest listing date, approval time when the directory states it, and agent_submission (method, endpoints, docs, auth, what an agent can do, what the owner must finish, and the page it was read from). Before opening a browser, use agent_submission; if it is form or unknown, check the site's /llms.txt, /openapi.json and /.well-known/agents.json. Never complete payment or account creation without the owner. Requirements and fees are not invented.

Get product

GET /public/listings/:slug

Get a single published product by slug. trust_state is unclaimed (listed from the product's public website), claimed (owner proved an email at the domain), verified (owner shows the LotsDirectory badge) or pro; link_rel is the rel used for links to the product's website.

Get product analytics

GET /listings/:id/analytics

Read views, clicks, and a view-to-click ratio for a Directory Pro product you own. There is no source attribution. Free products receive PRO_REQUIRED.

Get product entitlements

Read Free or Directory Pro status, trust_state, image allowance, promotion dates, and capabilities for a product you own. checkout_needs_verification is true until the listing is Verified. Directory Pro also picks its launch week (set_launch_week) and is featured on the homepage that week. Does not reveal another owner's product.

Get product preparation

Read the reusable product preparation packet for a Directory Pro product you own. format text or markdown returns copyable content. submission_routes lists the catalog directories an agent can submit to (MCP, REST, a draft link the owner finishes, or a GitHub pull request) and the rule for the rest: browser only as a last resort, never payment or account creation without the owner. Missing fields stay missing. Nothing is invented.

List categories

GET /public/categories

List all directory categories.

List directory progress

List saved directory progress for a product you own. format=text returns a copyable summary. Counts include directories that have not been started.

List incoming questions

GET /me/questions

List questions asked on your products (to answer).

List my products

GET /me/listings

List listings owned by the authenticated user, with each listing's trust_state.

List notifications

GET /me/notifications

List the authenticated user notifications.

List products

GET /public/listings

List published directory products with filters and sorting. Each card has trust_state (unclaimed, claimed, verified or pro) and link_rel.

List this week's launches

The LotsDirectory weekly launch board. A launch week runs Monday 00:00 UTC to Sunday 23:59 UTC. Only Verified and Pro products launch; they are ranked by the votes cast during their launch week (ties: more votes overall, then the product that joined the week first). period: this_week (default), last_week or this_month. Each entry has rank, week_votes, launch_week and winner_rank (1 to 3 once the week has closed). resets_at is the next weekly reset. At the reset the top 3 with at least one vote become #1, #2 and #3 Product of the Week.

List verified directories

List the audited directories for a product you own, with its saved progress. Every directory was checked for new listings in the last 90 days and open submissions, and carries relevance_tier: core_launch (launch platforms and startup directories), review_site, community, ai_directory (only shown for AI products) or niche. relevant=true keeps the ones that fit this product; tier filters to one kind. agent_submission says how to submit: mcp or rest (an agent submits through the API), draft-link (an agent prepares a draft the owner finishes), github-pr (a pull request from the owner's GitHub account), email, or form (browser). agent_submittable=true lists only the agent routes. This records nothing and submits nothing. Other filters: search, category, pricing, link type, minimum DR, progress state.

Manage product publication

Publish, unlist, keep as a private draft, or schedule a listing you own. The result states whether it is public, private, scheduled, awaiting review, or awaiting_badge (a free listing publishes once verify_badge finds the LotsDirectory badge on its website).

Mark notification read

POST /me/notifications/read

Mark one or all notifications read.

Pick the launch week

Directory Pro: pick the week a product you own launches on the LotsDirectory weekly board, the current week or one of the next 12 (week_start is any date in that week, YYYY-MM-DD; the week runs Monday 00:00 UTC to Sunday 23:59 UTC). The product is featured on the homepage during its launch week. A launch week is locked once it starts, so a product launches once. Send an empty week_start to clear a week that has not started. Free Verified listings join the next open week automatically (see get_my_listing launch) and get PRO_REQUIRED here; Unclaimed and Claimed listings get NOT_ELIGIBLE.

Publish a product update

POST /listings/:id/updates

Publish an update on a Directory Pro product you own. Free products cannot post updates. Questions stay free.

Record directory progress

Record or update progress for one directory on a product you own. This does not submit the form. submitted needs a receipt or note. live needs the public listing URL. needs_action needs the next owner action. An identical retry does not change the revision.

Search products

GET /public/search

Typeahead search across published products.

Start Directory Pro checkout

Start a $20 one-time checkout for one product you own. The listing must be Verified first (the LotsDirectory badge on its website, checked with verify_badge); otherwise it refuses with VERIFY_FIRST. Refuses unless the server offer is enabled and the billing product is $20 USD. Does not submit the product to other directories.

Submit a product

POST /listings

Create a product listing you own. A free listing publishes once the LotsDirectory badge is on the product's website: until verify_badge finds it, the listing stays a draft (publication.status awaiting_badge, with the snippet). Once Verified and published it joins the next open weekly launch week automatically. publication: publish (default), draft to keep it private while preparing, or schedule with scheduled_publish_at. Free includes 2 distinct images, Directory Pro 8; logo, cover, gallery and thumbnails count once per URL; each image at most 2 MB.

Update a product

PATCH /listings/:id

Update a product you own. A free product can keep a grandfathered image set only when the URLs do not change. Any real image change must fit 2 images, or 8 after Directory Pro. Do not send is_pro or an image limit; the server decides.

Update maker profile

PATCH /me/profile

Update the authenticated maker profile. email_preferences turns owner emails on or off: dr_updates, launch_results, badge_alerts (true or false; omitted topics keep their setting).

Update product preparation

Save preparation overrides, variants, or notes for a Directory Pro product you own. Send null or blank to clear one override. Pass expected_revision to avoid overwriting a newer save. Variants over a character limit are kept and warned, not truncated.

Upload product image

POST /images

Upload an image URL or base64 image to Directory storage. Maximum 2 MB, JPEG/PNG/WebP/GIF. Free products can use 2 distinct images and Directory Pro products can use 8, including logo and cover. The same URL counts once. Pass listing_id so the server enforces that product limit. At most 2 uploads may remain unattached.

Questions, answered.

What is the LotsDirectory MCP server URL?

https://api.lots.directory/mcp. Add it as a remote MCP server (custom connector) in your AI agent and sign in with your Lots account.

Which agents work with LotsDirectory?

Claude, ChatGPT (developer mode), Claude Code, Codex, Cursor, Windsurf and any other client that supports remote MCP with OAuth. Agents without MCP use the REST API with an API key.

Where are the LotsDirectory API docs?

https://api.lots.directory/docs.md: Markdown written so an AI agent can read it. Requests go to https://api.lots.directory/api/v1/lotsdirectory with Authorization: Bearer <your key>.

How do I get a LotsDirectory API key?

Use Generate key on this page or at lotstech.com/api. Sign in with your LotsTech account, name the key and copy it once. You can revoke it there at any time.

Does MCP or API access cost extra?

No. It is included with LotsDirectory. You pay only for LotsDirectory's own plan or usage, and your AI provider bills its own usage.