Skip to main content
GET
https://searchcompany-main.up.railway.app
/
api
/
onboarding
/
product-names
GET Product Names
curl --request GET \
  --url https://searchcompany-main.up.railway.app/api/onboarding/product-names
{
  "success": true,
  "product_names": [
    {}
  ],
  "count": 123,
  "error": "<string>"
}

Overview

This endpoint fetches product names from a Shopify store’s products.json API. It’s designed to be fast and lightweight, returning only product titles for the onboarding scanning animation.
This endpoint is isolated from generate-all and can be called independently. It’s used by the frontend during the β€œScanning…” phase to show product names rotating.

Request

url
string
required
The Shopify store URL (e.g., https://glossier.com)
limit
integer
default:"50"
Maximum number of product names to return (1-100)

Response

success
boolean
Whether the request succeeded
product_names
array
List of product name strings
count
integer
Number of product names returned
error
string
Error message if request failed (null on success)

Example

curl "https://searchcompany-main.up.railway.app/api/onboarding/product-names?url=https://glossier.com&limit=10"

Notes

  • Non-Shopify stores: Returns an empty list gracefully (no error)
  • Timeout: 10 second timeout per request
  • Proxy: Uses rotating residential proxy to avoid rate limiting
  • No auth required: This is a public endpoint for the scanning UI

Frontend Usage

// Fetch product names for scanning animation
const res = await fetch(
  `${API_URL}/api/onboarding/product-names?url=${encodeURIComponent(url)}&limit=30`
);
const { product_names } = await res.json();

// Rotate through names in UI
// "Scanning Balm Dotcom across top AI platforms..."
// "Scanning Boy Brow across top AI platforms..."