SkuvixSkuvix
Overview

Skuvix API

Skuvix lets you extract product data from any URL and publish listings to Shopify — with AI-powered optimization. This API covers product import, AI enrichment, Shopify publishing, and store management.

  • Connect your Shopify store via OAuth
  • Import products from any URL using our extraction engine
  • Enhance product data with AI (title, description, tags, pricing)
  • Publish optimized listings directly to Shopify
  • Manage subscriptions and billing via Stripe
Authentication

OAuth 2.0

Sign in with Google to get started. Sessions are managed via HTTP-only cookies — no API key needed for browser usage. For server-to-server calls, use JWT bearer tokens.

Authorization: Bearer <YOUR_JWT_TOKEN>

Registering

POST /api/auth/register
Body: { "email": "...", "name": "...", "password": "..." }
Response: { "success": true, "userId": "..." }

Logging in

POST /api/auth/login
Body: { "email": "...", "password": "..." }
Response: { "success": true, "user": { "id", "email", "name", "plan" } }
Product Import

Import a product

Send a product URL and get back structured product data. Supports Shopify, Amazon, AliExpress, Temu, Alibaba, 1688, and any page with OpenGraph or JSON-LD structured data.

POST /api/import
Authorization: Bearer <token>
Content-Type: application/json
Body: { "url": "https://...", "projectId": "..." }

Response: {
  "success": true,
  "data": {
    "importJobId": "job_...",
    "product": {
      "id": "...",
      "title": "...",
      "description": "...",
      "price": "29.99",
      "currency": "USD",
      "image": "https://...",
      "images": [...],
      "variants": [...],
      "confidenceScore": 0.92
    }
  }
}

Demo import (no URL needed)

POST /api/import/demo
Authorization: Bearer <token>
Body: {}

Response: { "success": true, "data": { "jobId": "...", "product": {...} } }

Import limits

PlanMonthly importsAI Enrichment
Free5 / 30 daysLimited
Starter200 / monthFull (Doubao Seed 1.8)
Pro2,000 / monthFull + priority queue
ScaleUnlimitedFull + advanced models
Publishing

Publish to Shopify

Once a product is imported and enriched, publish it to your connected Shopify store. The API handles variant mapping, image upload, and inventory sync.

POST /api/products/{productId}/publish
Authorization: Bearer <token>
Body: { "storeId": "store_..." }

Response: {
  "success": true,
  "data": {
    "publishJobId": "job_...",
    "remoteProductId": "819...",
    "status": "CREATED"
  }
}
POST /api/publish-jobs/{jobId}/run
Response: { "success": true, "data": { "status": "SUCCESS" } }

Getting products

GET /api/products?projectId=...
Response: { "success": true, "data": [...products] }

GET /api/products/{id}
Response: { "success": true, "data": { ...product, variants, options } }
AI Enrichment

AI product optimization

Use AI to rewrite titles, descriptions, and generate tags for better Shopify SEO. Powered by Doubao Seed 1.8 model — multi-modal, optimized for product data.

POST /api/ai/enrich
Authorization: Bearer <token>
Body: {
  "title": "Womens Casual Short Sleeve Floral Print Round Neck O-Neck T-Shirt",
  "description": "...",
  "images": ["https://..."],
  "model": "doubao-seed-1-8-251228"
}

Response: {
  "success": true,
  "data": {
    "optimizedTitle": "Women's Casual Floral Print Tee – Lightweight Summer Top",
    "rewrittenDescription": "...",
    "tags": ["summer", "casual", "floral", "t-shirt", "women"],
    "suggestedPrice": 24.99
  }
}

Translation

POST /api/ai/translate
Body: {
  "title": "...",
  "description": "...",
  "tags": [...],
  "targetLanguage": "Simplified Chinese"
}

Response: {
  "success": true,
  "data": {
    "translatedTitle": "...",
    "translatedDescription": "...",
    "translatedTags": [...]
  }
}

AI cost by plan

PlanAI modelCalls/month
FreeLimited (5 products)~5
StarterDoubao Seed 1.8 (multi-modal)200
ProDoubao Seed 1.8 + Doubao Pro 32K2,000
ScaleAll models + priorityUnlimited
Store Management

Connect Shopify stores

Connect one or more Shopify stores via OAuth. Each store gets an access token used for publishing products.

GET /api/stores
Response: { "success": true, "data": [{ "id", "name", "platform", "shopDomain", "isActive" }] }

POST /api/shopify/connect
Response: { "success": true, "data": { "authUrl": "https://..." } }

DELETE /api/stores/{storeId}
Response: { "success": true }

Store limits by plan

PlanConnected stores
Free1 store
Starter3 stores
Pro5 stores
ScaleUnlimited
Billing

Subscription management

Skuvix uses Stripe for subscription billing. Plans: Free, Starter ($29/mo), Pro ($79/mo), Scale ($199/mo). All paid plans include a 14-day free trial.

GET /api/billing
Response: {
  "success": true,
  "data": {
    "user": { "id", "email", "name", "plan" },
    "subscription": { "id", "status", "currentPeriodEnd" }
  }
}

POST /api/billing/checkout
Body: { "plan": "starter_monthly" }
Response: { "success": true, "data": { "url": "https://checkout.stripe.com/..." } }

Plan comparison

PlanPriceImportsStoresAI
Free$0/mo5 / 30d1Basic
Starter$29/mo200/mo3Full (Seed 1.8)
Pro$79/mo2,000/mo5All models + priority
Scale$199/moUnlimitedUnlimitedAdvanced + custom
Webhooks

Events

Receive real-time notifications via webhooks as Stripe subscription events come in. Register your endpoint in the dashboard or via API.

  • checkout.session.completedcheckout finished, subscription activated
  • customer.subscription.updatedplan changed or renewed
  • customer.subscription.deletedsubscription canceled, plan reverted to free
  • invoice.payment_failedpayment failed, subscription marked past_due
  • invoice.payment_succeededrenewal payment successful

Payload shape

{
  "id": "evt_...",
  "type": "customer.subscription.updated",
  "createdAt": "2026-01-01T00:00:00Z",
  "data": {
    "userId": "...",
    "plan": "starter",
    "status": "active",
    "currentPeriodEnd": "2026-02-01T00:00:00Z"
  }
}