Discover/Gap Canada API
live

Gap Canada APIgapcanada.ca

Access Gap Canada's full product catalog via API. Retrieve categories, paginated product listings with pricing and inventory, and SKU-level size data in CAD.

Endpoint health
verified 3d ago
list_categories
get_products
get_product_detail
3/3 passing latest checkself-healing
Endpoints
3
Updated
26d ago

What is the Gap Canada API?

The Gap Canada API gives developers structured access to gapcanada.ca's product catalog across 3 endpoints, covering all five departments: Women, Men, Girls, Boys, and Baby & Toddler. The get_products endpoint returns paginated listings with real-time pricing, color variants, review scores, and inventory signals, while get_product_detail exposes individual SKU-level size availability and effective versus regular prices in CAD.

Try it

No input parameters required.

api.parse.bot/scraper/148f30c1-3f01-4023-b803-13822b3437d6/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/148f30c1-3f01-4023-b803-13822b3437d6/list_categories' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace gapcanada-ca-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Gap Canada catalog — browse categories, list products, drill into detail."""
from parse_apis.gap_canada_product_catalog_api import GapCanada, ProductNotFound

client = GapCanada()

# List all categories, take the first one to explore.
category = client.categories.list(limit=5).first()
print(f"Category: {category.name} ({category.division}) — cid={category.cid}")

# Browse products in that category (capped to 3 items).
for product in category.products.list(limit=3):
    print(f"  {product.style_name} | {product.color_name} | ${product.effective_price} (was ${product.regular_price})")

# Drill into the first product's full detail via the summary → detail nav op.
summary = category.products.list(limit=1).first()
detail = summary.details()
print(f"\nDetail: {detail.name} — {len(detail.skus)} SKUs, sizes: {detail.sizes}")
for sku in detail.skus[:3]:
    print(f"  SKU {sku.sku_id}: size {sku.size}, status={sku.inventory_status}, ${sku.effective_price}")

# Fetch a product directly by pid.
try:
    direct = client.products.get(pid=summary.cc_id)
    print(f"\nDirect fetch: {direct.name}, currency={direct.currency}, variants={len(direct.customer_choice_ids)}")
except ProductNotFound as exc:
    print(f"Product not found: {exc}")

print("\nExercised: categories.list / category.products.list / summary.details / products.get")
All endpoints · 3 totalmissing one? ·

Returns all available product categories across Women, Men, Girls, Boys, and Baby & Toddler divisions. Each category includes a cid and department code required by get_products. The list is static and returns the full catalog in one response with no pagination.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "categories": "array of category objects each containing division, name, cid, and department"
  },
  "sample": {
    "data": {
      "categories": [
        {
          "cid": "1127938",
          "name": "Shop All Styles",
          "division": "Women",
          "department": "136"
        },
        {
          "cid": "6998",
          "name": "Jeans",
          "division": "Men",
          "department": "75"
        }
      ]
    },
    "status": "success"
  }
}

About the Gap Canada API

Endpoints and Coverage

The API is organized around three endpoints. list_categories returns a static index of all browsable categories, each with a cid, department code, division, and human-readable name. These identifiers feed directly into get_products and form the entry point for any catalog traversal.

Product Listings

get_products accepts a required cid and department (both sourced from list_categories), and optional page (0-indexed) and page_size (up to 200) parameters. Each product object in the response includes style_id, style_name, cc_id, color_name, color_description, effective_price, regular_price, price_ty, badges, review scores, and image references. The pagination object in the response exposes current_page, total_pages, page_size, and total_products, making it straightforward to walk a full category.

SKU-Level Detail

get_product_detail accepts a pid corresponding to the cc_id field from get_products. It returns the full set of SKUs for that color variant, each with sku_id, size, inventory_status, effective_price, and regular_price. The response also includes a sizes array of available dimension strings, the currency field (always CAD), and a customer_choice_ids array listing all color variants belonging to the same parent style — useful for fetching alternate colorways without re-querying the category listing.

Reliability & maintenanceVerified

The Gap Canada API is a managed, monitored endpoint for gapcanada.ca — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when gapcanada.ca changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official gapcanada.ca API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track price drops by comparing effective_price to regular_price across categories over time
  • Build a size availability checker using inventory_status from SKU objects in get_product_detail
  • Aggregate Gap Canada's full catalog by iterating list_categories and paginating through get_products
  • Monitor which products carry promotional badges in the get_products response for deal-surfacing tools
  • Map all color variants of a style using customer_choice_ids returned in get_product_detail
  • Feed kids' and baby clothing data into a cross-retailer comparison tool using department-filtered requests
  • Sync CAD pricing and inventory status into an affiliate or price-alert application
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Gap Canada have an official public developer API?+
Gap Canada does not publish a public developer API or documented data feed for third-party access. This Parse API provides structured access to the catalog data available on gapcanada.ca.
How do I paginate through all products in a category?+
get_products returns a pagination object containing current_page, total_pages, and total_products. Start with page=0 and increment until you reach total_pages - 1. The page_size parameter accepts values up to 200, which reduces the number of requests needed for large categories.
Does `get_product_detail` return data for all color variants of a style, or only one?+
Each call to get_product_detail returns SKU and size data for a single color variant identified by its pid (the cc_id from get_products). The customer_choice_ids array in the response lists the IDs of all other color variants for that parent style, so you can call get_product_detail for each to build a full picture of the style.
Does the API cover product search or filtering by size, price, or other attributes?+
Not currently. The API covers category-based browsing via list_categories and get_products, and per-variant detail via get_product_detail. There is no search or attribute-filter endpoint. You can fork this API on Parse and revise it to add a search endpoint if that capability is needed.
Are prices in the API always in Canadian dollars?+
Yes. The currency field in get_product_detail is always CAD, and all effective_price and regular_price values across all endpoints reflect Canadian dollar pricing from gapcanada.ca. US pricing from gap.com is not covered. You can fork this API on Parse and revise it to point at gap.com if USD pricing is required.
Page content last updated . Spec covers 3 endpoints from gapcanada.ca.
Related APIs in EcommerceSee all →
gap.com API
Search and browse Gap's product catalog by keyword or category, retrieve detailed product information including pricing, available sizes, colors, and customer reviews, get product recommendations, locate nearby Gap retail stores, and explore the full site navigation and category tree.
adidas.ca API
Browse Adidas Canada's product catalog to find shoe and apparel details, pricing, images, size variants, and real-time stock levels. Check availability across different sizes to see if your desired items are in stock before making a purchase.
amazon.ca API
amazon.ca API
patagonia.com API
Access Patagonia's full product catalog via search and category browsing. Retrieve detailed product information including variants, pricing, specs, and materials. Fetch customer reviews, locate nearby stores and authorized dealers, and browse the Worn Wear used and refurbished gear selection.
ebay.ca API
Search and compare eBay Canada listings with detailed item information, pricing history from completed sales, and seller profiles to make informed buying decisions. Discover current deals, browse product categories, and view seller feedback and ratings all in one place.
walmart.ca API
Search Walmart Canada products and retrieve detailed information like prices, availability, and specifications. Find nearby Walmart pharmacy locations to check services and hours.
hanes.com API
Search and browse Hanes clothing products across categories like men's, women's, and sale items, and retrieve detailed information including sizes, colors, and real-time availability. Find exactly what you're looking for with product variants and comprehensive details to compare options before purchase.
cea.com.br API
Search and browse C&A Brazil's product catalog across categories and subcategories, view detailed product information including prices and specifications, and read customer reviews to help with your shopping decisions. Find exactly what you're looking for with powerful product search functionality backed by the complete cea.com.br inventory.