Skip to main content
Use this to see what other brands sell online and at what price — to size a market, compare your prices with competitors, or find brands that might buy your ingredients. The data comes from the public storefronts of online stores built on Shopify. Every record has source: "shopify".
The crawl covers stores in every industry, not just CPG. Pass industry=cpg when you search stores to keep only consumer packaged goods brands.
The API works from the store down: find stores, open one, then list its products and collections.

Search stores

Every filter is optional. When you pass several, a store must match all of them.

Your first search: find food and drink brands

Values are illustrative.

Understanding the response

Results come one page at a time. limit sets the page size (1 to 200, default 50). Each response has a next_cursor: pass it back as cursor to get the next page, and stop when it’s null. Rows come back in ID order, so paging never skips or repeats a row.
  • category is the one category the store sells most of. A store can sell in several; GET /v1/stores/{id} shows the full mix.
  • product_count and variant_count count what the store lists. A variant is one buyable version of a product, such as a size or flavor.
  • min_price, median_price, and max_price summarize the store’s variant prices, in the store’s own currency.
  • crawled_at is when Orbbit last read the store. Use it to judge how fresh the numbers are.

Get a store’s full profile

Response trimmed for clarity. Values are illustrative. The profile has every field a search returns, plus:
  • currency — the currency every price in this store is in.
  • categories — every category the store sells in, with the share of its products in each, largest first.
  • common_crawl — how prominent the store is on the web, from the public Common Crawl web index. A lower harmonic_rank means more of the web links to the store.

List a store’s products

Products are paged. Each product carries its price range and main image; open one product to see every variant.
Values are illustrative.

Get one product

GET /v1/products/{id} returns everything in the list row, plus the full description, every image, and every variant with its own price.
Response (variants only)
compare_at_price is the “was” price the store shows next to a sale price. When it’s set and higher than price, the variant is on sale.

List a store’s collections

Collections are the merchant’s own groupings of products, such as “Best sellers” or “Single origin”. They show how a brand organizes and markets its range.
The response is a paged list of { id, title, handle, description, image, product_count, published_at, updated_at, source }.

Errors

An unknown store or product ID returns 404:
404 — unknown store
See Errors for every other error.

Store fields

Returned by GET /v1/stores and GET /v1/stores/{id}.

Profile-only fields

GET /v1/stores/{id} also returns:

Product fields

Returned by GET /v1/stores/{id}/products and GET /v1/products/{id}.

Single-product fields

GET /v1/products/{id} also returns:

Variant fields

Collection fields

Returned by GET /v1/stores/{id}/collections.

Validation rules

Summary

What to do next