Also Collections API
Collection listings and the products within a collection.
Collection listings and the products within a collection.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/also-collections-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: ALSO Storefront JSON Collections API
version: '2026-08-02'
summary: Read-only JSON storefront endpoints ALSO publishes for agents at ridealso.com.
description: 'ALSO does not publish an OpenAPI document. This description was **generated by API Evangelist**
from the read-only endpoints ALSO itself enumerates for agents in its published
`/agents.md` (mirrored at `/llms.txt`), and every path below was probed live against
`https://ridealso.com` on 2026-08-02 with the observed HTTP status recorded in
`x-evidence`. Schemas were derived from the actual response bodies returned by those
probes - no field is asserted that was not observed.
This is an AE-generated contract for a real, callable surface. It is **not** a document
published or endorsed by ALSO. The provider''s own machine-readable contracts are the
Storefront GraphQL schema (`graphql/also-storefront-2026-07.graphql`, captured by open
introspection) and the UCP profile at `/.well-known/ucp`.
'
contact:
name: ALSO Media
email: media@ridealso.com
url: https://ridealso.com/pages/contact
x-generated-by: API Evangelist enrichment pipeline (local-v1)
x-provider-published: false
x-source: https://ridealso.com/agents.md
servers:
- url: https://ridealso.com
description: ALSO storefront (Shopify-hosted, primary domain)
tags:
- name: Collections
description: Collection listings and the products within a collection.
paths:
/collections.json:
get:
operationId: listCollections
summary: List all published collections
tags:
- Collections
responses:
'200':
description: A list of published collections.
content:
application/json:
schema:
type: object
properties:
collections:
type: array
items:
$ref: '#/components/schemas/Collection'
x-evidence:
fetched: '2026-08-02'
url: https://ridealso.com/collections.json
http_status: 200
/collections/{handle}/products.json:
get:
operationId: listCollectionProducts
summary: List the products in a collection
description: Returns the published products in a collection. Note - an unknown collection handle was observed returning HTTP 200 with an empty product list rather than 404.
tags:
- Collections
parameters:
- name: handle
in: path
required: true
description: The collection handle, e.g. `gear`.
schema:
type: string
example: gear
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 250
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
responses:
'200':
description: The products in the collection.
content:
application/json:
schema:
type: object
properties:
products:
type: array
items:
$ref: '#/components/schemas/Product'
x-evidence:
fetched: '2026-08-02'
url: https://ridealso.com/collections/does-not-exist/products.json
http_status: 200
components:
schemas:
Variant:
type: object
description: A purchasable variant of a product.
properties:
id:
type: integer
product_id:
type: integer
description: The parent product id.
title:
type: string
option1:
type:
- string
- 'null'
option2:
type:
- string
- 'null'
option3:
type:
- string
- 'null'
sku:
type:
- string
- 'null'
requires_shipping:
type: boolean
taxable:
type: boolean
featured_image:
oneOf:
- $ref: '#/components/schemas/Image'
- type: 'null'
available:
type: boolean
price:
type: string
description: Price as a decimal string.
compare_at_price:
type:
- string
- 'null'
grams:
type: integer
position:
type: integer
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
Collection:
type: object
properties:
id:
type: integer
title:
type: string
handle:
type: string
description:
type: string
image:
oneOf:
- $ref: '#/components/schemas/Image'
- type: 'null'
products_count:
type: integer
published_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
Product:
type: object
description: A published storefront product.
properties:
id:
type: integer
description: Numeric product identifier.
title:
type: string
handle:
type: string
description: URL slug for the product.
body_html:
type: string
description: HTML product description.
published_at:
type: string
format: date-time
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
vendor:
type: string
product_type:
type: string
description: 'Observed values include Vehicle, Module: Top Frame, Clothing, Hats.'
tags:
type: array
items:
type: string
variants:
type: array
items:
$ref: '#/components/schemas/Variant'
images:
type: array
items:
$ref: '#/components/schemas/Image'
options:
type: array
items:
$ref: '#/components/schemas/Option'
Image:
type: object
properties:
id:
type: integer
product_id:
type: integer
variant_ids:
type: array
items:
type: integer
src:
type: string
format: uri
width:
type: integer
height:
type: integer
position:
type: integer
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
Option:
type: object
properties:
name:
type: string
position:
type: integer
values:
type: array
items:
type: string