> For a complete page index of the Captain API documentation, fetch https://docs.captain.dev/llms.txt?excludeSpec=true

# GoDaddy

> Search your GoDaddy Online Store's products with Captain Product Search, kept in sync from GoDaddy's Commerce API.

Connect a GoDaddy Online Store, and Captain imports its products into a new Captain catalog, keeps them in sync, and measures the revenue search brings in. A Captain search box goes on the store with one HTML section.

> **Note**
>
> The GoDaddy integration is in beta. It was tested end to end against a recorded copy of the platform's documented API, not yet against a live GoDaddy store. GoDaddy's Commerce API launched in August 2026. Tell the Captain team on Slack before you connect a store you sell from.

## Quick start

#### [1. Make a token](#before-you-start)

Copy your store ID and create a read-only Personal Access Token.

#### [2. Connect](#connect-the-store)

Paste them on the GoDaddy card in the Captain console.

#### [3. Turn on search](#turn-on-storefront-search)

Create a storefront key and add an HTML section to your site.

## How it works

* **The store connection** reads your catalog and orders through GoDaddy's Commerce API with a Personal Access Token you make. It only reads. It never changes your store.
* **The search box** is Captain's `<captain-search>` widget, in an HTML section on your site. It searches the catalog the connection fills.

Orders feed the analytics: an order counts as assisted by search when the same shopper clicked that product in Captain's results first.

## Before you start

* A GoDaddy Online Store on GoDaddy's **Commerce** experience. Your store is on it when **Catalog** shows in the left menu of your commerce dashboard. There, products you edit in Websites + Marketing are the same products the Commerce API reads. A store not yet moved keeps a separate catalog that the API can't read.
* A GoDaddy Payments account. GoDaddy creates your commerce store, and its store ID, with it.
* A Captain Product Search tenant with the GoDaddy integration switched on. Captain switches it on per tenant.
* An owner of your Captain organization, to create the storefront key later.

### Copy your store ID

Sign in at [developer.godaddy.com](https://developer.godaddy.com/docs/api-users/commerce#your-stores) with your GoDaddy account. **About the Commerce API**, under **Your stores**, lists your store ID: a long code like `3f2504e0-4f89-11d3-9a0c-0305e82c3301`.

### Make a read-only token

### Open Personal Access Tokens

Go to [developer.godaddy.com/personal-access-token](https://developer.godaddy.com/personal-access-token) and select **Generate Token**.

### Name it and pick the expiry

Name it, for example `Captain`. Under **Expires After**, pick **1 year**, the longest GoDaddy allows.

### Choose the permissions

Under **Permissions**, choose only `commerce.store:read`, `commerce.product:read` and `commerce.order:read`.

### Copy the token

Select **Create Token**, then **Copy Token**. GoDaddy shows it once.

GoDaddy tokens expire. Before yours ends, make a new one and paste it on the connection, or the sync stops with "GoDaddy refused the token".

## Connect the store

### Open the GoDaddy card

In the Captain console, open **Developers**, then **Integrations**. On the **GoDaddy Online Store** card, select **Connect**.

### Fill in the form

* **Store ID**: the ID you copied.
* **Personal Access Token**: the token.
* **Store address**: your store's web address, for example `https://www.example.com`. Product links are built from it.

Captain tests the token with read-only calls before it saves anything. A token without one of the three permissions is refused, and nothing is stored.

### Name the catalog

Keep the suggested catalog name or enter one no other catalog uses. The first import starts as soon as you connect.

Captain keeps the token in its secrets store only. It never shows it again, and it isn't in any log or reply.

## What syncs

GoDaddy's catalog calls a product a **SKU group** and each variant a **SKU**. Captain indexes active products and their active variants. Draft and archived ones stay out, and a product that becomes draft or archived leaves search on the next full sync. The catalog is the same one GoDaddy Payments uses in person, so an active item sold only in your physical store is indexed too. Archive it, or tell the Captain team, to keep it out. Each variant is one record, and search groups variants by product.

| GoDaddy field                                                  | Captain field                                     |
| -------------------------------------------------------------- | ------------------------------------------------- |
| SKU group `label`                                              | `title`                                           |
| SKU group description (HTML removed)                           | `body`                                            |
| SKU attribute values, e.g. Size: 12 oz                         | `variant_title`, `options`, `option_values`       |
| SKU group `type` (other than physical)                         | `product_type`                                    |
| Lists the product belongs to                                   | `collections`                                     |
| A product field (metafield) named `brand`                      | `vendor`                                          |
| SKU group `name` (the URL slug)                                | `handle`                                          |
| Store address + `/shop/ols/products/` + the slug               | `url`                                             |
| Product images, in their order                                 | `images`, `image` (the variant's own image first) |
| SKU `code`                                                     | `sku`                                             |
| GTIN, UPC, EAN or ISBN                                         | `barcode`                                         |
| Price in your store's currency                                 | `price`                                           |
| Compare-at price, when higher                                  | `compare_at_price`                                |
| Available stock summed over locations (empty when not tracked) | `inventory`, `available`                          |
| Every other product field (metafield), weight                  | `attributes`                                      |

### Orders

Captain reads orders that changed since the last sync. An order counts as revenue when it is **Open** or **Completed**, paid, and not canceled or refunded. For each one, Captain records one purchase event: the variants, their prices and quantities, the subtotal and currency, and an anonymous customer token. No names, emails or addresses.

## Live updates

GoDaddy's Commerce API offers no webhooks to a Personal Access Token. The connection syncs on its schedule instead: every hour unless you change it. Each hourly sync reads products, variants and prices that changed. A full re-read at least once a day also catches stock changes and removes products you deleted. **Sync now** runs a full one at any time.

## Turn on storefront search

### Create a storefront key

Open the GoDaddy connection's **Manage** panel. Under **Storefront search**, select **Create storefront key**, and add any other domains your site uses. The panel shows the snippet with the key filled in. Only an owner of the organization can create the key.

The snippet looks like this:

```html
<script type="module" src="https://cdn.jsdelivr.net/gh/runcaptain/captain-search@1.8.0/captain-search.js" integrity="sha384-..." crossorigin="anonymous"></script>

<captain-search
  endpoint="https://acme.captain.dev"
  index="godaddy-products"
  key="YOUR_SCOPED_KEY"
></captain-search>
```

### Add it to your site

### Edit your website

In your GoDaddy account, open **Websites + Marketing**, select **Manage** next to your site, then **Edit Website**.

### Add an HTML section

Go to the page where shoppers search. Add a section, search for **HTML**, and select **Add**. Paste the whole snippet into **Custom Code**.

### Give it room

GoDaddy shows custom code in a frame, so results open inside the section. Set **Forced Height** to about 500 px.

### Publish

Preview the page, then publish your site.

See [Search Widget](/guides/product-search/search-widget) for every option, such as placeholder text, dropdown or full results page, and colors.

## Sync now and Disconnect

* **Sync now** re-reads the whole catalog and the recent orders.
* **Disconnect** stops syncing and deletes the token from Captain. The catalog stays, so search keeps working until you delete it. To revoke the token in GoDaddy too, open the Personal Access Token page, select the actions menu next to it, then **Revoke**.

## Troubleshooting

* **"GoDaddy Online Store refused the credentials" or "refused the token".** The token expired, was revoked, or lacks one of the three permissions. Make a new one and reconnect.
* **"answered 404: check the store or account id".** The store ID doesn't match the token's account. Copy it again from **Your stores**.
* **No products, or old ones.** Check that **Catalog** shows in your commerce dashboard's left menu. Without it, your Online Store's catalog isn't the one the Commerce API reads yet.
* **A product link opens the wrong page.** Check the store address on the connection. Links use your product's URL slug, so a slug you changed in GoDaddy updates on the next sync.
* **A change hasn't shown up.** Changes arrive with the next hourly sync, and stock changes with the daily full one. Select **Sync now** to read everything at once.