Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
All 92 tools
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/icon-aircraft-store-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.0
info:
title: Shop ICON Storefront API
version: '2026-08-22'
description: >-
Anonymous, read-only JSON access to the Shop ICON storefront at store.iconaircraft.com — the
ICON Aircraft merchandise store (A5 apparel, hats, scale models, publishing and flight-training
products), built on Shopify.
ICON Aircraft publishes no developer program and no product API for the A5 aircraft itself.
This storefront surface is nonetheless a genuine, documented, machine-readable interface: the
store's own /agents.md and /robots.txt name these endpoints as the supported read path for AI
agents, and each one was probed live and returned 200 without credentials on 2026-08-22.
Ownership is established from the storefront's own metadata rather than the fetch URL:
GET /meta.json returns name "Shop ICON", domain store.iconaircraft.com, myshopify_domain
iconaircraft.myshopify.com, and city Vacaville, California — ICON Aircraft's headquarters.
The store also stocks Flight Design branded merchandise, consistent with Flight Design being
ICON Aircraft's sister company under Shang Gong Group.
Derived by API Evangelist from https://store.iconaircraft.com/agents.md and from live
anonymous probes of every operation below. The transactional surface (cart, checkout, order)
is NOT described here — Shopify exposes it to agents through the UCP/MCP endpoint instead;
see mcp/icon-aircraft-mcp.yml.
contact:
name: Shop ICON
url: https://store.iconaircraft.com/
termsOfService: https://store.iconaircraft.com/policies/terms-of-service
servers:
- url: https://store.iconaircraft.com
description: Shop ICON storefront (Shopify, Cloudflare edge)
- url: https://iconaircraft.myshopify.com
description: Canonical myshopify origin for the same store
tags:
- name: Catalog
description: Products and product variants.
- name: Collections
description: Merchandising collections.
- name: Search
description: Storefront predictive search.
- name: Store
description: Store-level metadata.
paths:
/meta.json:
get:
operationId: getStoreMeta
summary: Get storefront metadata
description: >-
Returns store identity and commerce settings — legal name, location, currency, money
format, countries shipped to, published product and collection counts, and the enabled
card brands. This is the operation that establishes which merchant the storefront belongs to.
tags: [Store]
responses:
'200':
description: Store metadata.
content:
application/json:
schema:
$ref: '#/components/schemas/StoreMeta'
/products.json:
get:
operationId: listProducts
summary: List published products
description: >-
Lists every published product with its variants, options and images. Verified live at 43
published products on 2026-08-22. Paginate with page and limit; an empty products array
signals the end of the collection.
tags: [Catalog]
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/page'
responses:
'200':
description: A page of products.
content:
application/json:
schema:
type: object
properties:
products:
type: array
items:
$ref: '#/components/schemas/Product'
/products/{handle}.json:
get:
operationId: getProduct
summary: Get a single product by handle
description: >-
Returns the full product record for one storefront handle, including every variant with its
SKU, price, compare-at price, weight in grams and availability flag.
tags: [Catalog]
parameters:
- $ref: '#/components/parameters/handle'
responses:
'200':
description: The product.
content:
application/json:
schema:
type: object
properties:
product:
$ref: '#/components/schemas/Product'
'404':
$ref: '#/components/responses/NotFound'
/collections.json:
get:
operationId: listCollections
summary: List published collections
description: >-
Lists the merchandising collections a shopper can browse. Verified live at 13 published
collections on 2026-08-22 — accessories, cold-weather-gear, everything, sport-flying-manuals,
frontpage, hats, icon-aircraft-publishing-books, icon-website-featured, mens, new-arrivals,
womens and junior-aviators.
tags: [Collections]
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/page'
responses:
'200':
description: A page of collections.
content:
application/json:
schema:
type: object
properties:
collections:
type: array
items:
$ref: '#/components/schemas/Collection'
/collections/{handle}/products.json:
get:
operationId: listCollectionProducts
summary: List the products in one collection
tags: [Collections]
parameters:
- $ref: '#/components/parameters/handle'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/page'
responses:
'200':
description: A page of products within the collection.
content:
application/json:
schema:
type: object
properties:
products:
type: array
items:
$ref: '#/components/schemas/Product'
'404':
$ref: '#/components/responses/NotFound'
/search/suggest.json:
get:
operationId: suggestSearch
summary: Predictive storefront search
description: >-
Returns predictive search suggestions for a query, grouped by resource type. Anonymous and
rate-limited by Shopify at the edge.
tags: [Search]
parameters:
- name: q
in: query
required: true
description: The search query.
schema:
type: string
- name: resources[type]
in: query
description: Comma-separated resource types to search (product, collection, page, article).
schema:
type: string
default: product
- name: resources[limit]
in: query
schema:
type: integer
minimum: 1
maximum: 10
default: 10
responses:
'200':
description: Grouped suggestion results.
content:
application/json:
schema:
$ref: '#/components/schemas/SuggestResults'
/cart.js:
get:
operationId: getCart
summary: Get the current session cart
description: >-
Returns the cart bound to the caller's Shopify session cookie. An anonymous caller with no
prior session receives a new empty cart. Agents should prefer the UCP/MCP cart tools over
this endpoint — see mcp/icon-aircraft-mcp.yml — because checkout on this storefront requires
contemporaneous human approval and cannot be completed through the storefront JSON surface.
tags: [Catalog]
responses:
'200':
description: The session cart.
content:
application/json:
schema:
$ref: '#/components/schemas/Cart'
components:
parameters:
limit:
name: limit
in: query
description: Items per page. Shopify caps this at 250.
schema:
type: integer
minimum: 1
maximum: 250
default: 30
page:
name: page
in: query
description: 1-indexed page of the collection.
schema:
type: integer
minimum: 1
default: 1
handle:
name: handle
in: path
required: true
description: The storefront handle (URL slug) of the object.
schema:
type: string
responses:
NotFound:
description: No published object exists at that handle.
content:
text/html:
schema:
type: string
schemas:
StoreMeta:
type: object
properties:
id:
type: integer
name:
type: string
city:
type: string
province:
type: string
country:
type: string
currency:
type: string
domain:
type: string
url:
type: string
format: uri
myshopify_domain:
type: string
description:
type: string
ships_to_countries:
type: array
items:
type: string
money_format:
type: string
published_collections_count:
type: integer
published_products_count:
type: integer
Product:
type: object
properties:
id:
type: integer
title:
type: string
handle:
type: string
body_html:
type: string
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
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'
Variant:
type: object
properties:
id:
type: integer
product_id:
type: integer
title:
type: string
option1:
type: [string, 'null']
option2:
type: [string, 'null']
option3:
type: [string, 'null']
sku:
type: [string, 'null']
price:
type: string
description: Decimal string in the store currency, for example "30.00".
compare_at_price:
type: [string, 'null']
available:
type: boolean
grams:
type: integer
requires_shipping:
type: boolean
taxable:
type: boolean
position:
type: integer
featured_image:
oneOf:
- $ref: '#/components/schemas/Image'
- type: 'null'
Image:
type: object
properties:
id:
type: integer
product_id:
type: integer
src:
type: string
format: uri
width:
type: integer
height:
type: integer
position:
type: integer
alt:
type: [string, 'null']
variant_ids:
type: array
items:
type: integer
Option:
type: object
properties:
name:
type: string
position:
type: integer
values:
type: array
items:
type: string
Collection:
type: object
properties:
id:
type: integer
title:
type: string
handle:
type: string
description:
type: string
published_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
products_count:
type: integer
SuggestResults:
type: object
properties:
resources:
type: object
properties:
results:
type: object
additionalProperties:
type: array
items:
type: object
additionalProperties: true
Cart:
type: object
properties:
token:
type: string
note:
type: [string, 'null']
attributes:
type: object
additionalProperties: true
original_total_price:
type: integer
total_price:
type: integer
item_count:
type: integer
currency:
type: string
items:
type: array
items:
type: object
additionalProperties: true