> ## Documentation Index
> Fetch the complete documentation index at: https://docs.searchcompany.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# GET Product Names

> Lightweight endpoint to fetch product names for the scanning UI animation

## 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.

<Info>
  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.
</Info>

## Request

<ParamField query="url" type="string" required>
  The Shopify store URL (e.g., `https://glossier.com`)
</ParamField>

<ParamField query="limit" type="integer" default="50">
  Maximum number of product names to return (1-100)
</ParamField>

## Response

<ResponseField name="success" type="boolean">
  Whether the request succeeded
</ResponseField>

<ResponseField name="product_names" type="array">
  List of product name strings
</ResponseField>

<ResponseField name="count" type="integer">
  Number of product names returned
</ResponseField>

<ResponseField name="error" type="string">
  Error message if request failed (null on success)
</ResponseField>

## Example

<CodeGroup>
  ```bash Request theme={null}
  curl "https://searchcompany-main.up.railway.app/api/onboarding/product-names?url=https://glossier.com&limit=10"
  ```

  ```json Response theme={null}
  {
    "success": true,
    "product_names": [
      "Balm Dotcom",
      "Boy Brow",
      "Cloud Paint",
      "Lash Slick",
      "Milky Jelly Cleanser",
      "Stretch Concealer",
      "Futuredew",
      "Haloscope",
      "Lidstar",
      "Generation G"
    ],
    "count": 10,
    "error": null
  }
  ```
</CodeGroup>

## 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

```typescript theme={null}
// 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..."
```
