HomeDeveloper Documentationv1.0 REST API
IndieTool Developer API

Programmatic Startup Submissions

The IndieTool REST API allows developers, solo founders, and SaaS automation pipelines to submit, showcase, and rank new software applications directly into the IndieTool directory.

Instant SEO Backlink

Permanent DR 35+ dofollow backlink created on submission.

Dual Upload Modes

Submit via remote Image URL or direct local binary multipart streams.

SHA-256 Auth

Bank-grade hashed API keys with instant revocation control.

AI & MCP Server

Model Context Protocol for Claude, Cursor, Antigravity & ChatGPT

Universal AI Integration

Connect IndieTool directly to your favorite AI coding assistant or chat app. You can launch startups directly from your coding session, verify submission credits in real-time, and search 1,500+ curated products without leaving your workflow.

1

Get an API Key

Generate a private API key with submission credits from your dashboard.

2

Connect to Your AI

Copy the 1-click configuration below for Cursor, Claude, Antigravity, or ChatGPT.

3

Launch in Chat

Simply ask: "Submit my startup to IndieTool". Your AI handles the rest!

How It Works in Your AI Chat
Live Preview

"I just finished building my SaaS https://saasify.io. Submit it to IndieTool under Developer Tools."

Connected to @indietool/mcp-server

Checking your IndieTool account... Verified 1 submission credit remaining.

🚀 Listing Created & Backlink Published:
https://www.indietool.io/indietool/saasify.io
Permanent DR 47+ Dofollow SEO Backlink is now live.
AI Assistant Configuration
// ~/Library/Application Support/Claude/claude_desktop_config.json { "mcpServers": { "indietool": { "command": "npx", "args": ["-y", "@indietool/mcp-server"], "env": { "INDIETOOL_API_KEY": "it_live_YOUR_API_KEY" } } } }

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

Available MCP Tools

Tool NameCredits?What It Does
submit_startup1 CreditSubmits an indie app or startup. Checks account credits, verifies domain uniqueness, creates listing, and publishes live with a permanent DR 47+ do-follow backlink.
check_creditsFreeChecks how many submission credits remain in the user's account before submitting.
search_toolsFreeSearches 1,500+ indie apps, SaaS products, and AI tools across keywords, tags, problems, and categories.
get_featured_startupsFreeReturns today's curated featured startups and top community launch winners.
list_categoriesFreeLists all 14 official startup categories available on IndieTool.

Example Prompts for Your AI

Launch Submission

"Submit my startup https://myapp.com to IndieTool under Developer Tools"

Credit Balance

"Check my IndieTool submission credits"

Competitor Research

"Search IndieTool for cold email automation tools"

Inspiration & Trends

"Show me today's featured startups on IndieTool"

Authentication

All requests to the IndieTool API require a valid API key prefixed with it_live_. You can generate and manage keys from your API Keys Dashboard.

# Recommended: Standard Bearer Header
Authorization: Bearer it_live_YOUR_API_KEY
# Alternative: Custom Header
x-api-key: it_live_YOUR_API_KEY
Security Notice: Never expose your API key in client-side code (browsers or frontend apps). Always make requests from secure backend servers or CI/CD pipelines.

Submit Application

POSThttps://www.indietool.io/api/v1/apps/submit

Creates a new product listing on IndieTool. The API accepts both application/json (with remote image URLs) and multipart/form-data (with direct file binary uploads).

Request Parameters

ParameterTypeRequiredDescription
appNamestringRequiredThe public name of your startup or SaaS tool (2-100 chars).
appUrlstring (URL)RequiredLive website URL (e.g. https://myapp.com).
landingPageHeadingstringRequiredPrimary value proposition headline (3-150 chars).
landingPageSubHeadingstringRequiredShort description or pitch explaining the product (5-500 chars).
categorystringRequiredCategory: Ai, Design, Productivity, Marketing, Fintech, etc.
imageUrlstring (URL)ConditionalPublic HTTPS URL to product logo/screenshot (Required if file is omitted).
fileFile (Binary)ConditionalLocal image binary in multipart mode (PNG, JPG, WebP < 5MB).
creatorNamestringOptionalFounder or maker full name (e.g. "Sarah Solo").
creatorSocialMediaLinkstring (URL)OptionalFounder's profile (e.g. https://x.com/sarahsolo).

Code Examples

curl -X POST https://www.indietool.io/api/v1/apps/submit \
  -H "Authorization: Bearer it_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "appName": "My AI Startup",
    "appUrl": "https://mystartup.com",
    "landingPageHeading": "AI-Powered SEO for Solo Founders",
    "landingPageSubHeading": "Build, launch, and rank your SaaS automatically.",
    "category": "Ai",
    "imageUrl": "https://mystartup.com/logo.png",
    "creatorName": "Sarah Solo",
    "creatorSocialMediaLink": "https://x.com/sarahsolo"
  }'

Responses & Error Handling

201 Created (Success)
{
  "success": true,
  "statusCode": 201,
  "message": "App successfully submitted and featured on Indietool.",
  "data": {
    "appName": "My AI Startup",
    "appUrl": "https://mystartup.com",
    "domainSlug": "mystartup-com",
    "indietoolUrl": "https://www.indietool.io/indietool/mystartup-com",
    "category": "Ai",
    "imageUrl": "https://indie-tool.s3.amazonaws.com/uploads/1785775...-app-logo.png",
    "creatorName": "Sarah Solo",
    "creatorImageUrl": "https://indie-tool.s3.amazonaws.com/uploads/...-creator.jpg",
    "creatorSocialMediaLink": "https://x.com/sarahsolo"
  }
}
409 Conflict (e.g. No Credits)
{
  "success": false,
  "statusCode": 409,
  "error": "Insufficient credits. Please purchase credits at indietool.io to submit apps via API.",
  "hint": "Purchase credits on https://www.indietool.io to continue submitting via API."
}
Status CodeMeaningDescription
201 CreatedSuccessApp successfully persisted, image uploaded to AWS S3, and public URL generated.
400 Bad RequestValidation ErrorMissing required fields, invalid domain URL, or SSRF protection trigger.
401 UnauthorizedAuthentication FailedMissing or invalid API key in Authorization header.
409 ConflictDuplicate / CreditsInsufficient credits (0 balance) or domain slug already submitted.
429 Rate LimitToo Many RequestsExceeded 60 requests/minute per IP window.

Credits & Lifetime Rules

Unlimited

Lifetime Pass ("indietool-expert")

Lifetime pass holders can submit unlimited applications via the developer API without credit deductions or limits.

Pay-As-You-Go

Submission Credits ("indietool-pro")

Each API submission uses 1 credit. If your credit balance reaches 0, further uploads are paused until more credits are added.

Enterprise-Grade Security

IndieTool implements rigorous safety standards across all public endpoints:

  • SSRF Defense: Remote image URLs are strictly filtered against private IP ranges (127.0.0.1, 10.x, 192.168.x, localhost).
  • Hashed API Keys: Keys are one-way hashed with SHA-256 in PostgreSQL. Even in the event of database dumps, raw keys are unrecoverable.
  • CORS Enabled: Cross-origin resource sharing headers are pre-configured to allow integrations from any server or cloud runner.

Ready to integrate?

Generate your live developer API key in under 10 seconds.

Create API Key