Frontpiece API
Create products and listing kits from your own code, or from an AI assistant over MCP. A kit made through the API is the same kit the app makes, and it uses one kit from your plan or kit packs, exactly like the Generate button.
API keys
Create a key in Settings, under API keys. The key is shown once; only a fingerprint of it is stored. You can have 5 active keys and revoke any of them at any time.
Send it on every request as a Bearer token. The header x-api-key also works.
curl https://www.frontpiece.ai/api/v1/account \ -H "Authorization: Bearer fp_live_YOUR_KEY"
Make a kit in three calls
Save a product from a product link, start a kit, then check it until it is completed. A kit takes several minutes.
curl -X POST https://www.frontpiece.ai/api/v1/products \
-H "Authorization: Bearer fp_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"link": "https://www.amazon.com/dp/B0EXAMPLE", "marketplaces": ["amazon"]}'
curl -X POST https://www.frontpiece.ai/api/v1/kits \
-H "Authorization: Bearer fp_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"product_id": "PRODUCT_ID"}'
curl https://www.frontpiece.ai/api/v1/kits/KIT_ID \
-H "Authorization: Bearer fp_live_YOUR_KEY"Endpoints
- GET /account
- Your plan and whether you can start a kit now.
- POST /products
- Save a product. Send link (an Amazon, Walmart, Etsy, TikTok Shop or store product page) or photo_urls (up to 6 public image links) with name and category. Optional: brand_name, main_keyword, features, whats_included, dimensions, description, marketplaces.
- GET /products
- Your products, newest first. Optional limit (1 to 50).
- POST /kits
- Start a kit for product_id. Optional: marketplaces (amazon, walmart, tiktok, shopify, etsy), image_count (1 to 12), brand_profile_id. Uses one kit.
- GET /kits
- Your kits, newest first, with status. Optional limit (1 to 50).
- GET /kits/{id}
- Status (queued, running, completed, failed, cancelled), stage, finished image links (valid for an hour), listing copy and share link.
- POST /kits/{id}/share
- The kit’s public frontpiece.ai/k/ link, made the first time you ask.
MCP for AI assistants
The MCP server is https://www.frontpiece.ai/api/v1/mcp (Streamable HTTP). Tools: get_account, create_product, list_products, generate_kit, get_kit, list_kits, get_share_link.
Add that URL as a connector in Claude, ChatGPT or any MCP client, and sign in with your Frontpiece account when it asks. There is no key to copy. Connected apps are listed in Settings, where you can disconnect them.
Claude Code signs in through the browser with the first command. The second uses an API key instead:
claude mcp add --transport http frontpiece https://www.frontpiece.ai/api/v1/mcp claude mcp add --transport http frontpiece https://www.frontpiece.ai/api/v1/mcp \ --header "Authorization: Bearer fp_live_YOUR_KEY"
MCP Inspector: choose Streamable HTTP, enter the URL above, then connect with OAuth or add the Authorization header.
Pricing
There is no separate API price. Each kit uses one kit from your plan or kit packs, as in the app, and a kit that fails is refunded the same way. Your free kit can only be made in the app.
Limits
Per account, per hour: 600 requests, 30 kit starts and 30 new products. Up to 12 kits can generate at once. Over a limit you get 429 with a Retry-After header in seconds.
Errors
Errors are JSON: {"error": {"code": "...", "message": "..."}}. Over MCP, a refusal comes back as a tool result with isError and the same code; a malformed request gets a JSON-RPC error.
- 401 unauthorized
- Missing, wrong or revoked key.
- 400 invalid_input
- The message names the field.
- 402 kit_limit
- No kits left. Buy a kit pack or change plan in the app.
- 402 free_kit_dashboard_only
- Make your free kit in the app.
- 403 email_unverified
- Verify your email address in the app first.
- 404 not_found
- No product or kit with that id on your account.
- 409 busy
- Too many kits generating, or an import of this product is already running.
- 413
- The request body is over 64 KB.
- 429 rate_limited
- Wait for Retry-After seconds.
- 502 failed
- The kit or import did not start. Any kit it used is refunded. Try again.
- 503 unavailable
- Try again shortly.