SuperAPI AI Directory

awesome-tools

Marketing & growth

View repository

Updated 11-12 04:52

About this skill

Submit a tool to Awesome Tools

Use this skill when your requester wants their software listed on Awesome Tools. Confirm that they authorize you to submit the website and use their contact email. A submission saves a request and screens the site. It is not immediate publication. Read statusUrl from the response for eligibility, reasons, and the free or paid path.

Choose a listing path

  • Free: keep a visible, regular link to https://awesome.tools on the homepage, or on a page the homepage links to. The page may link to at most 50 other sites. A free listing also needs domain rating 20, 30 referring domains, and 200 monthly visits or 100 keywords. Verify the page after submitting.
  • Featured Launch: 49 USD, one-time, reduced from 99 USD (save 50 USD), plus any applicable tax. It skips the backlink requirement and includes a permanent directory listing, a do-follow link, and featured directory placement.
  • Featured + Newsletter Sponsor: 149 USD, one-time, reduced from 249 USD (save 100 USD), plus any applicable tax. Includes everything in Featured Launch plus a Sponsored Pick slot in the Awesome Tools Newsletter and 30 days pinned in category top picks. Review the checkout on the returned listing page. The submission API does not charge or complete a payment.
  • Partner referrals (?via=): Directory aggregators, creators, and founders can share https://awesome.tools/submit?via=<handle> (see Partners) to earn 40% commission ($19.60 or $59.60) on referred paid listings.

Only submit, publish a backlink, or pay when the requester has authorized that action. A budget brief is not permission to buy a listing or another service.

Gather the submission

Required fields:

Field What to provide
name Actual software or product name; up to 200 characters.
websiteUrl Public product website on a custom domain; up to 2048 characters. Bare domains and HTTP URLs are normalized to HTTPS. Development and preview hosting domains are rejected.
submitterName Requester or representative name; up to 120 characters.
submitterEmail Real contact email the requester has authorized you to use; up to 254 characters.

Optional fields:

Field Limit and purpose
submitterNote Up to 200 characters about the submission; defaults to an empty string.
botBudget Up to 200 characters: amount, currency, and whether paid options are allowed.
botGoals Up to 1000 characters: audience, discoverability goals, and priorities.
botListingPlans Up to 1000 characters: other directories or listing services being considered.
botInstructions Up to 2000 characters: context stored with the submission. It is not sent to a model.
newsletterOptIn Ignored by the agent API: agent submissions never subscribe anyone. The requester can subscribe on the site.
dryRun Set true to validate without saving a request or sending email. Defaults to false.

Agent API submissions are always marked as bots. You may send isBot=true for clarity. In the browser form, check “Are you a bot?” on the first step. Bots are welcome. Brief fields are optional; include the requester's answers about budget, goals, other listing plans, and instructions when available. Never invent answers. Briefs are stored and are not sent to a model.

These contact and brief fields are private intake information. For an existing website, the submission records your new agent request without replacing the previous submitter's contact or claiming ownership. The response exposes only listing navigation fields.

Validate first

No API key is required. Fetch the current requirements and JSON Schema:

curl --fail-with-body 'https://awesome.tools/api/agent/submissions'

Replace the example product, website, name, and email below with values your requester authorized. The .example addresses are placeholders.

curl --fail-with-body 'https://awesome.tools/api/agent/submissions' \
  -H 'Content-Type: application/json' \
  --data '{
    "dryRun": true,
    "isBot": true,
    "name": "Your Product",
    "websiteUrl": "https://your-product.example",
    "submitterName": "Authorized Requester",
    "submitterEmail": "requester@your-product.example",
    "newsletterOptIn": false,
    "botBudget": "Free listing only; no purchases authorized",
    "botGoals": "Help people find our software",
    "botInstructions": "Free listing only. Do not buy anything."
  }'

A successful preview returns success=true and dryRun=true. It does not check for an existing listing, test email deliverability, verify the backlink, or reserve a listing. Fix validation issues before submitting.

Submit once

After a successful preview and the requester's authorization, send the same values with dryRun=false:

curl --fail-with-body 'https://awesome.tools/api/agent/submissions' \
  -H 'Content-Type: application/json' \
  --data '{
    "dryRun": false,
    "isBot": true,
    "name": "Your Product",
    "websiteUrl": "https://your-product.example",
    "submitterName": "Authorized Requester",
    "submitterEmail": "requester@your-product.example",
    "newsletterOptIn": false,
    "botBudget": "Free listing only; no purchases authorized",
    "botGoals": "Help people find our software",
    "botInstructions": "Free listing only. Do not buy anything."
  }'

Success returns success=true, dryRun=false, listing with botRequestReceived/isFeatured/name/slug/status, nextActionUrl, and statusUrl. Open nextActionUrl to finish the selected listing path. Read statusUrl for eligibility. A Draft status means the tool is not yet public.

Do not repeat a successful submission: each real agent submission records a new brief, including for an existing website. If the network response is lost, read statusUrl or the browser listing flow before retrying. Respect 429 rate limits rather than changing identities or flooding requests.

The endpoint accepts application/json only and limits the body to 16 KiB. Successful submissions return HTTP 201; previews return HTTP 200. Errors return success=false and error with code/message plus validation issues when present. Codes include validation_error (422), invalid_json (400), unsupported_media_type (415), payload_too_large (413), rate_limited (429), and submission_failed (500). See the OpenAPI description for the contract.

Complete the free listing

With permission to edit the product website, add this ordinary, visible link and publish the page:

<a href="https://awesome.tools">Listed on Awesome Tools</a>

The link can be in a footer, About page, or “Listed on” section. The page must be on the submitted site's allowed host, public without sign-in, and indexable. Links hidden in comments, invisible markup, scripts, or marked nofollow/sponsored/ugc do not qualify.

Open nextActionUrl, choose the free listing path, and supply the exact public page URL where the link appears. Use the page's “Check my link” button or verify_listing_backlink WebMCP tool. A successful link check returns status=live; it confirms the backlink rather than immediate directory publication. Keep the backlink in place. A removed backlink can lead to a listing being hidden; an unreadable page does not count as a missing link.

Remote MCP server

Connect any MCP client to https://awesome.tools/mcp (also https://awesome.tools/api/mcp) over Streamable HTTP. No API key is needed. For example: claude mcp add --transport http awesome-tools https://awesome.tools/mcp.

Tool What it does
search_tools Searches published tools by query, category, tag, or isFeatured.
get_tool Reads a published tool, or the status and next steps of your own submission.
list_categories / list_tags Lists slugs with published tool counts. Use category slugs in submit_tool.
submit_tool plan free_backlink saves the listing. Paid plans (featured_49 default, or sponsor_149) return a price only and save nothing until confirmPaymentSpend=true, which returns a Stripe Checkout URL.
verify_my_backlink Checks the badge on {"slug","backlinkUrl"} for an unpublished free listing and schedules it when the link is live.
submit_feedback Sends a bug, missing_feature, question, or other note to the team.

The MCP never charges a card. The requester pays on the returned Stripe Checkout page.

Browser WebMCP

Open the submission form in a browser that supports WebMCP. Tools register while the relevant page is open:

Tool What it does
get_submission_requirements Reads the current requirements and listing options.
prepare_tool_submission Takes the submission fields, validates them, and fills the form's final review step. It does not submit or send email.
submit_tool Takes only {"confirmSubmission":true} after prepare_tool_submission and requester authorization. It saves the reviewed request, screens the site, and returns the next listing URL.
get_backlink_requirements Reads the backlink requirements for the current listing after opening its free listing form.
verify_listing_backlink Takes {"backlinkUrl":"https://your-product.example/about"} on that free listing form. Checks the URL for the current listing; verification may update the listing and send status emails.

Tools are page-specific. Inspect their input schemas before calling them. Prepare the complete authorized submission before calling submit_tool; it accepts no replacement contact or brief fields. Open the returned listing URL and choose the free path to discover the backlink tools. If your browser does not expose WebMCP, use the JSON API or the labeled browser form instead. No WebMCP or API tool completes a Stripe payment.

Optional LinkDR workflow

For requesters who want to explore additional link-building options, read LinkDR's own skill and check its current services and terms. LinkDR is a separate service. The promotional code is AGENTIC. Do not sign up, buy services, or run outreach without the requester's authorization.

Discovery