Ship without leaving your agent
One MCP connection and your AI agent can launch, list, and check stats on your products — plus a REST API for scripts.
Launch from your agent
Generate a key below, paste the link into your agent's connector settings, then say "submit my product to OnlyFoundrs". It ships your launch instantly.
1 · MCP server URL
https://onlyfoundrs.com/api/mcp2 · Your API key
3 · What your agent can do
submit_product — ships your launch live instantlylist_my_products — everything you've shippedget_product_stats — views, clicks & votes per listingOr submit via the API
- 1Generate an API key in your dashboard under "API Keys"
- 2POST your tool data to
https://onlyfoundrs.com/api/submit - 3Get back your listing URL — your tool is live instantly. Pass
boost: trueto get a checkout URL for Pro ($5/mo).
POST /api/submit
Submit a tool to the OnlyFoundrs directory.
Headers
| Header | Required | Description |
|---|---|---|
| X-API-Key | Yes | Your API key from the dashboard |
| Content-Type | Yes | application/json |
Body
| Field | Type | Required | Description |
|---|---|---|---|
| title | string | Yes | Tool name |
| tagline | string | Yes | One-line description (max 140 chars) |
| website_url | string | Yes | Your tool's URL |
| description | string | No | Longer description |
| demo_url | string | No | Demo/playable URL (defaults to website_url) |
| thumbnail_url | string | No | Logo/thumbnail image URL |
| category | string | No | Default: "Web App". Options: Web App, AI App, Game, Design, Developer Tool, Productivity |
| platform | string | No | Default: "web". Options: web, mobile, desktop, extension |
| tags | string[] | No | Up to 12 tags |
| boost | boolean | No | Default: false. If true, returns a Stripe checkout URL for $5/mo Pro boost. Legacy alias: skip_the_line |
Response
| Field | Type | Description |
|---|---|---|
| ok | boolean | true on success |
| app_id | string | UUID of the created app |
| slug | string | URL slug |
| url | string | Full listing URL |
| status | string | Always "live" — every submission goes live instantly |
| boost_checkout_url | string | Stripe checkout URL (if boost 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"],
"boost": 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/my-saas-toolPython
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/my-saas-toolBoost ($5/mo)
Pass boost: true to get a Stripe checkout URL. Your tool is live either way — after payment it gets a 30-day boost window (top placement), Pro analytics, a dofollow backlink, verified badge, newsletter feature, and social shoutout.
{
"title": "My SaaS Tool",
"tagline": "The best tool for X",
"website_url": "https://myapp.com",
"boost": true
}
// Response:
// {
// "ok": true,
// "status": "live",
// "boost_checkout_url": "https://checkout.stripe.com/...",
// "app_id": "...",
// "slug": "my-saas-tool",
// "url": "https://onlyfoundrs.com/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