submit_product
Opens a launch draft from a URL. It cannot publish, pick a plan, pick a week, or pay.
Scrapes the URL, builds a listing, validates it against the same rules the browser form uses, and
creates a product in draft status owned by your account. It returns a link to finish in the
browser.
An agent can open a draft. It can never publish a launch.
This tool selects no plan, reserves no week, creates no payment and makes nothing public. The draft sits at draft
status until a human finishes at /submit/plan/, and an admin reviews the listing before it goes
live. That boundary is in the server and is not configurable.
Parameters
urlstringrequiredThe product URL. Everything else is optional: fields you leave out are filled from the site itself.
namestringOverrides the scraped product name.
taglinestringOne line summary. This is the line most readers judge the launch on, so it is worth writing yourself.
descriptionstringThe listing body.
categoriesstring[]Up to three. More than three is a BAD_REQUEST rather than a silent truncation.
pricingstringPricing model, for example free, freemium or paid.
twitterUsernamestringYour X handle, used to credit and tag the launch.
targetKeywordstringThe phrase you want the listing to rank for. Used for on page SEO of the listing.
Response
slugstringSlug of the created draft.
draftUrlstringWhere a human finishes, for example /submit/?slug=your-product.
warningsstring[]Anything accepted but worth a second look, for example a tagline that was truncated to fit or a category that was mapped to the closest match.
First call on a fresh session
An unauthenticated call does not error. The server starts a pairing and returns readable text:
This session is not connected to a Nick Launches account yet.
Open https://nicklaunches.com/connect/?code=8F2K-QT4M, approve the request,
then run this tool again.Approve in a browser where you are already signed in, then rerun the tool. No token passes through the agent. The full flow is on Authentication.
Example
Submit https://example.com to Nick Launches. Use the tagline
"Draft blog posts from a single outline" and the categories AI Writing and Content.{
"slug": "example",
"draftUrl": "https://nicklaunches.com/submit/?slug=example",
"warnings": ["Description was shortened to the listing limit."]
}What happens next
- 1
Review the draft
Open
draftUrl. Everything the agent generated is editable, and this is the moment to fix a tagline you would not have written yourself. - 2
Pick a plan and a week
At /submit/plan/. A free launch requires the backlink badge to be live on your site;
check_launch_readinesstells you in advance whether it is. - 3
Wait for review
An admin checks the listing before it goes live. You can watch the status with
get_my_launches.
Duplicates and relaunches
The URL is canonicalised and checked against existing listings before anything is created.
Already listedBlocked, with a link to the existing listing. Submitting the same product twice is the single most common reason a submission is rejected by hand.
Relaunch eligibleInside the cooldownRunning check_launch_readiness first surfaces all three
before you write anything.
Errors
| Code | Meaning |
|---|---|
UNAUTHORIZED | No connection. On MCP you get the pairing message instead. |
BAD_REQUEST | Validation failed, for example more than three categories. |
FORBIDDEN | The URL is already listed, or you are inside the relaunch cooldown. |
TOO_MANY_REQUESTS | Too many submissions in a short window. |
See Errors.
REST equivalent
POST /api/v1/submissions/, documented on Submissions.