OnlyFoundrs API

Submit tools programmatically. For AI agents, automation scripts, and browser extensions.

Quick start

  1. 1Generate an API key in your dashboard under "API Keys"
  2. 2POST your tool data to https://onlyfoundrs.com/api/submit
  3. 3Get back your listing URL. Free submissions go live in ~4 weeks. Pass skip_the_line: true for instant launch ($5/mo).

POST /api/submit

Submit a tool to the OnlyFoundrs directory.

Headers

HeaderRequiredDescription
X-API-KeyYesYour API key from the dashboard
Content-TypeYesapplication/json

Body

FieldTypeRequiredDescription
titlestringYesTool name
taglinestringYesOne-line description (max 140 chars)
website_urlstringYesYour tool's URL
descriptionstringNoLonger description
demo_urlstringNoDemo/playable URL (defaults to website_url)
thumbnail_urlstringNoLogo/thumbnail image URL
categorystringNoDefault: "Web App". Options: Web App, AI App, Game, Design, Developer Tool, Productivity
platformstringNoDefault: "web". Options: web, mobile, desktop, extension
tagsstring[]NoUp to 12 tags
skip_the_linebooleanNoDefault: false. If true, returns a Stripe checkout URL for $5/mo instant launch

Response

FieldTypeDescription
okbooleantrue on success
app_idstringUUID of the created app
slugstringURL slug
urlstringFull listing URL
statusstring"pending" (4 week wait) or "live" (instant) or "payment_required" (checkout needed)
goes_live_atstringISO date when the listing goes live (if pending)
checkout_urlstringStripe checkout URL (if skip_the_line requested)

Examples

cURL

curl -X POST https://onlyfoundrs.com/api/submit \
  -H "X-API-Key: ofk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "My SaaS Tool",
    "tagline": "The best tool for X",
    "website_url": "https://myapp.com",
    "description": "A longer description of what it does.",
    "category": "AI App",
    "tags": ["ai", "productivity"],
    "skip_the_line": false
  }'

JavaScript / Node.js

const res = await fetch("https://onlyfoundrs.com/api/submit", {
  method: "POST",
  headers: {
    "X-API-Key": "ofk_your_api_key_here",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    title: "My SaaS Tool",
    tagline: "The best tool for X",
    website_url: "https://myapp.com",
    category: "AI App",
    tags: ["ai", "productivity"],
  }),
});

const data = await res.json();
console.log(data.url); // https://onlyfoundrs.com/app/my-saas-tool

Python

import requests

res = requests.post(
    "https://onlyfoundrs.com/api/submit",
    headers={
        "X-API-Key": "ofk_your_api_key_here",
        "Content-Type": "application/json",
    },
    json={
        "title": "My SaaS Tool",
        "tagline": "The best tool for X",
        "website_url": "https://myapp.com",
        "category": "AI App",
        "tags": ["ai", "productivity"],
    },
)

data = res.json()
print(data["url"])  # https://onlyfoundrs.com/app/my-saas-tool

Skip the line ($5/mo)

Pass skip_the_line: true to get a Stripe checkout URL. After payment, the tool goes live instantly with a dofollow backlink, featured placement, newsletter feature, social shoutout, and analytics.

{
  "title": "My SaaS Tool",
  "tagline": "The best tool for X",
  "website_url": "https://myapp.com",
  "skip_the_line": true
}

// Response:
// {
//   "ok": true,
//   "status": "payment_required",
//   "checkout_url": "https://checkout.stripe.com/...",
//   "app_id": "...",
//   "slug": "my-saas-tool",
//   "url": "https://onlyfoundrs.com/app/my-saas-tool"
// }

Errors

401 — Missing X-API-Key header

No API key provided in the request headers.

401 — Invalid API key

The API key is not found or has been revoked.

400 — title is required

Missing required field in the request body.

500 — Failed to create app

Database error. Check your request and try again.

Get your API key

Generate an API key in your dashboard and start submitting tools programmatically.

Go to dashboard