CartViral Products API
The Products API from CartViral — 4 operation(s) for products.
The Products API from CartViral — 4 operation(s) for products.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/cartviral-com:cartviral-com-products-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: CartViral Products API
version: 1.0.0
description: 'AI product videos for e-commerce: import products, generate TikTok, Reels and Shorts clips, get download links, and work with the CartViral Earn creator marketplace. Same operations as the MCP server at https://app.cartviral.com/mcp. Docs: https://cartviral.com/api'
contact:
name: CartViral
email: support@cartviral.com
url: https://cartviral.com
servers:
- url: https://app.cartviral.com/api/v1
security:
- bearer: []
- oauth:
- mcp
tags:
- name: Products
paths:
/products/import:
post:
operationId: importProducts
summary: Import products from a store or product URL
description: 'Import products into the account''s catalog from a public link: a Shopify storefront link imports the whole published catalog (up to 750 products); a WooCommerce store link imports its catalog; a product page on Shopify, Amazon, TikTok Shop, Etsy or most other sites imports that product. Re-importing the same link updates products in place.'
x-openai-isConsequential: true
parameters: []
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid input or the action could not be done; body has an error message
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Missing or invalid credentials
'429':
description: 'Rate limit: 120 calls per minute per key'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
url:
type: string
description: Public store or product page URL (https://...)
html:
type: string
description: 'Optional: the page''s HTML as the user''s browser sees it (browser extension), for sites that block servers such as eBay, Etsy or Walmart'
required:
- url
tags:
- Products
/products:
get:
operationId: listProducts
summary: Catalog products with their CartViral score
description: Products in the account's catalog with their id, price, photo count and CartViral score (0-100; 'push' products are the best candidates for clips). Use the id with generate_clips.
x-openai-isConsequential: false
parameters:
- name: search
in: query
required: false
schema:
type: string
description: Optional text to match in the product title
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 100
default: 20
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid input or the action could not be done; body has an error message
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Missing or invalid credentials
'429':
description: 'Rate limit: 120 calls per minute per key'
tags:
- Products
/products/{product_id}/listing-copy:
get:
operationId: getListingCopy
summary: Marketplace listing copy and SEO/GEO for a product (1 credit the first time…
description: 'Marketplace-ready copy for one catalog product, written only from its real facts (never invented specs, claims or reviews) - the same claims as its clips. Amazon title/Item Highlights/5 bullets/backend search terms, a Shopify SEO title/meta description/image alt text/description, 13 Etsy tags, and GEO (AI search): FAQ pairs, an attributes table and Product + FAQPage JSON-LD. Cached per product until it changes: a first write costs 1 credit, calling it again for the same, unchanged product is free.'
x-openai-isConsequential: true
parameters:
- name: product_id
in: path
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid input or the action could not be done; body has an error message
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Missing or invalid credentials
'429':
description: 'Rate limit: 120 calls per minute per key'
tags:
- Products
/products/{product_id}/copy/{tool}:
get:
operationId: getCopy
summary: Ad copy, social captions, a creator brief or a 30-day content plan for a…
description: 'One of Text & SEO''s 4 more tools for a catalog product, written only from its real facts (never invented specs, claims, discounts or reviews). tool=ad_copy: 5 Meta primary texts, 5 headlines, 5 descriptions, 3 TikTok ad texts, following the paid-ad rules (no absolutes, no fake discounts or reviews). tool=social_captions: 3 captions, a hashtag set and alt text for each of TikTok, Instagram Reels, YouTube Shorts and Pinterest. tool=creator_brief: a one-page brief for a human UGC creator or a CartViral Earn generator - facts, audience, 3 key messages, 3 hooks, shots to get, do''s/don''ts, the #ad disclosure rule. tool=content_plan: a 30-day content calendar built from CartViral''s own Video/Photos/Carousels formats. Cached per product and per tool until the product changes: a first write costs 1 credit, calling it again for the same, unchanged product is free.'
x-openai-isConsequential: true
parameters:
- name: product_id
in: path
required: true
schema:
type: string
- name: tool
in: path
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: object
additionalProperties: true
'400':
description: Invalid input or the action could not be done; body has an error message
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Missing or invalid credentials
'429':
description: 'Rate limit: 120 calls per minute per key'
tags:
- Products
components:
schemas:
Error:
type: object
properties:
error:
type: string
required:
- error
securitySchemes:
bearer:
type: http
scheme: bearer
description: API key from Account → AI agents (cv_live_...), or an OAuth access token
oauth:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://app.cartviral.com/oauth/authorize
tokenUrl: https://app.cartviral.com/oauth/token
refreshUrl: https://app.cartviral.com/oauth/token
scopes:
mcp: Use your CartViral account