Search Old Navy, Gap, Banana Republic, or Athleta products
Searches product listings across Old Navy, Gap, Banana Republic, and Athleta -- select the storefront with the brand parameter (`on` for Old Navy, `gap` for Gap, `br` for Banana Republic, `at` for Athleta; defaults to `on`). Returns product summaries with pricing, review scores, and every purchasable color variant. This search is best-effort relevance, not a guaranteed keyword match: for an obscure or nonsense keyword the upstream search index falls back to its own recommended results instead of returning an empty list, and there is currently no reliable signal in the response to distinguish a true keyword match from that fallback behavior.
Notas de la respuesta
- This search is best-effort relevance, not a guaranteed keyword match. For an obscure or nonsense `keyword`, the upstream search index falls back to its own recommended results instead of returning an empty list, and there is currently no reliable field in the response (no relevance score, no fallback flag, no zero total) to distinguish a true keyword match from that fallback behavior. Treat every response as "what the storefront's own search would show", not as a filtered exact-match result set.
- `total_products` and `total_pages` reflect the upstream's own pagination metadata for the current `keyword`/`brand` combination.
- Each product's `colors[].id` is the value to pass as `pid` to `oldnavy-product` for full product-detail data on that color.
- Requesting a `page` beyond the upstream's own last page returns `404`.
- `facets` lists the available filters (price range, department, review score, color, fit, wash, and others) with live per-option result counts. A range facet (e.g. price) sets `is_range` true and carries `range_min`/`range_max` instead of `options`.
Herramienta MCP oldnavy_search
keyword:querybrand:querypage:query+1 más
GETapiKeyexample
/oldnavy/product DetallesGet an Old Navy, Gap, Banana Republic, or Athleta product
Returns product-detail data for one color variant: name, description, images, aggregate rating, and every size offered in that color as a separate priced offer. pid is a color-specific product id, as returned by oldnavy-search's product colors[].id field (not the bare base product id). Select the storefront with the brand parameter (`on` for Old Navy, `gap` for Gap, `br` for Banana Republic, `at` for Athleta; defaults to `on`) -- it must match the brand the pid was found under.
Notas de la respuesta
- `offers` lists every size available in the requested color, each with its own `sku`, `price`, `currency`, and `availability`. `availability` is the bare name, e.g. `InStock`, `OutOfStock`.
- `related_items` lists this product's own "Related items" cross-sell links -- each with the linked product's name, `pid`, and URL. It may be empty if the page carries none.
- An unknown or invalid `pid` returns `404`.
- A non-numeric or missing `pid` returns `400` before any upstream request is made.
Herramienta MCP oldnavy_product
pid:querybrand:queryx-api-key:header
GETapiKeyexample
/oldnavy/category DetallesBrowse an Old Navy, Gap, Banana Republic, or Athleta category
Returns a category/browse listing for one storefront category id (cid). cid is an opaque Gap Inc category id assigned by the storefront's own navigation -- neither oldnavy-search nor oldnavy-category currently surface a category-id list, so find one from the storefront's own category page URLs (the cid query parameter on a /browse/... page) for now. Select the storefront with the brand parameter (`on` for Old Navy, `gap` for Gap, `br` for Banana Republic, `at` for Athleta; defaults to `on`) -- it must match the brand the cid was found under. Returns the category's subcategory breakdown, product summaries with per-color inventory data, and available search facets with live counts.
Notas de la respuesta
- `categories` breaks the listing into its subcategory groups (e.g. "Slim Jeans" within a "Jeans" category), each with the specific color-level product ids (`items[].cc_id`) that belong to it.
- Each product's `colors[].id` is the value to pass as `pid` to `oldnavy-product` for full product-detail data on that color -- the same id space as `oldnavy-search`'s `colors[].id`.
- Each color additionally carries live inventory data not present on `oldnavy-search`: `inventory_count`, `inventory_status`, `back_order_inventory_count`, and `back_order_inventory_status`.
- `facets` lists the available filters (price range, department, review score, color, fit, and others) with live per-option result counts.
- An unknown `cid` returns `404`. A `page` beyond the upstream's own last page returns a `200` with an empty `products` array (not a `404`) -- this differs from `oldnavy-search`'s own overflow behavior.
- A non-numeric or missing `cid` returns `400` before any upstream request is made.
Herramienta MCP oldnavy_category
cid:querybrand:querypage:query+1 más
GETapiKeyexample
/oldnavy/categories DetallesList Old Navy storefront categories
Lists Old Navy's own storefront navigation as name/cid pairs, resolving the cid-discovery gap oldnavy-search, oldnavy-product, and oldnavy-category all document. Omit cid to list Old Navy's top-level divisions (e.g. Women, Men, Boys, Toddler). Pass a cid (a division's own, or any deeper category's) to list the related categories for that part of the storefront instead, in the same order the live storefront menu shows them -- this is section-level, not necessarily unique per leaf category. Currently only available for brand=on (Old Navy).
Notas de la respuesta
- Omit `cid` to list Old Navy's top-level divisions (New & Trending!,
Uniforms, Activewear, Women, Men, Girls, Boys, Toddler, Baby, Maternity,
Today's Deals!), sourced from the storefront's own homepage top nav.
- Pass a `cid` -- a division's own, or any deeper category's -- to list
the related categories for that part of the storefront instead, in the
same order the live storefront menu shows them. This is section-level,
not necessarily unique per leaf: a narrow subcategory's `cid` (e.g.
Boys T-Shirts) currently returns the same list as its parent division
(Boys), since Old Navy serves this block once per section rather than
once per category. Each returned entry's `cid` is usable directly as
the `cid` query parameter to [`oldnavy-category`](oldnavy-category.md).
- **Currently only available for `brand=on` (Old Navy).** Passing any other `brand` value (Gap, Banana Republic, Athleta) returns `400`.
- A non-numeric `cid` returns `400` before any upstream request is made.
- Old Navy does not return a distinct not-found signal for an unrecognized
`cid` on this page (unlike `oldnavy-category`'s own commerce-API lookup,
which does 404 cleanly) -- an unrecognized `cid` and a genuinely
leaf-level category with no further children both look the same
(`503`). If you need a hard not-found check for a specific `cid`, use
`oldnavy-category` instead.
Example response (`cid` omitted -- top-level divisions):
```json
{"code":200,"msg":"OK","data":{"brand":"on","source_url":"https://oldnavy.gap.com/","fetched_at":"2026-08-10T00:00:00Z","categories":[{"name":"New & Trending!","cid":"3028309","url":"https://oldnavy.gap.com/browse/category.do?cid=3028309&mlink=5151,topNav,visnav&nav=meganav%3ANew%20%26%20Trending!%3A%3A"},{"name":"Women","cid":"1185233","url":"https://oldnavy.gap.com/browse/category.do?cid=1185233&mlink=5151,topNav,visnav&nav=meganav%3AWomen%3A%3A"},{"name":"Boys","cid":"1185232","url":"https://oldnavy.gap.com/browse/category.do?cid=1185232&mlink=5151,topNav,visnav&nav=meganav%3ABoys%3A%3A"}]}}
```
Example response (`cid=1185232`, Boys -- subcategories):
```json
{"code":200,"msg":"OK","data":{"brand":"on","cid":"1185232","source_url":"https://oldnavy.gap.com/browse/category.do?cid=1185232","fetched_at":"2026-08-10T00:00:00Z","categories":[{"name":"T-Shirts","cid":"36097","url":"https://oldnavy.gap.com/browse/category.do?cid=36097&cl=true#department=16"},{"name":"Jeans","cid":"5936","url":"https://oldnavy.gap.com/browse/category.do?cid=5936&cl=true#department=16"},{"name":"Boys Shop by Size 5-20","cid":"39659","url":"https://oldnavy.gap.com/browse/category.do?cid=39659&cl=true#department=16"}]}}
```
Herramienta MCP oldnavy_categories
brand:querycid:queryx-api-key:header
Find Old Navy, Gap, Banana Republic, or Athleta store locations
Searches physical store locations for one storefront by free-text search (zip code or city) and/or coordinates. Provide search, or both lat and lng. Select the storefront with the brand parameter (`on` for Old Navy, `gap` for Gap, `br` for Banana Republic, `at` for Athleta; defaults to `on`). Returns each nearby store's name, full address, phone number, coordinates, distance, and specialties (e.g. "In-Store Shopping", "Outlet"). This is location search only -- it does not report per-item, per-store stock levels; use oldnavy-product-availability for that.
Notas de la respuesta
- Each store includes its name, full street address, phone number, coordinates, distance from the search location (miles), and `specialties` (e.g. `"In-Store Shopping"`, `"Outlet"`, `"ON Beauty"`).
- This endpoint is location search only -- it does not report per-item, per-store stock availability.
- A search with no nearby matches returns `200` with an empty `stores` array, not an error.
- Neither `search` nor a complete `lat`/`lng` pair returns `400` before any upstream request is made. `lat` and `lng` must be given together.
Herramienta MCP oldnavy_stores
search:querylat:querylng:query+2 más
GETapiKeyexample
/oldnavy/product/availability DetallesCheck in-store pickup stock for an Old Navy, Gap, Banana Republic, or Athleta product
Checks per-size, in-store pickup stock status for one color (pid) at one or more physical stores. pid matches oldnavy-product's own color-level id. Give store location either directly with store_id (one or more comma-separated store ids, e.g. from a prior call to this endpoint or a value you already have) or with zip or both lat and lng, which resolves the nearest stores automatically. Select the storefront with the brand parameter (`on` for Old Navy, `gap` for Gap, `br` for Banana Republic, `at` for Athleta; defaults to `on`). Each returned store lists every offered size's stock status: `in_stock`, `out_of_stock`, or `low_stock`.
Notas de la respuesta
- Each store's `sizes` array lists every offered size's stock status: `IN_STOCK`, `OUT_OF_STOCK`, or `LOW_STOCK`.
- `name`, `address`, `city`, `region`, `postal_code`, `phone`, and `distance_miles` are only populated when the store was resolved via `zip` or `lat`/`lng` -- a caller-supplied `store_id` has no accompanying store metadata from this source.
- A `zip`/`lat`/`lng` search with no nearby stores returns a normal `200` with an empty `stores` array, not an error.
- An unrecognized `pid` returns `404`.
- An unrecognized `store_id` given directly (not resolved via `zip`/`lat`/`lng`) is not detectable as an error from this endpoint -- it returns every size as `OUT_OF_STOCK` rather than an error, a known upstream limitation.
Herramienta MCP oldnavy_product_availability
pid:querybrand:querystore_id:query+4 más
GETapiKeyexample
/oldnavy/product/reviews DetallesGet reviews for an Old Navy, Gap, Banana Republic, or Athleta product
Returns one page of a product's customer reviews (author, date, rating, headline, body, and verified-purchase flag), plus the product's overall rating summary (average rating, rating count, per-star histogram, and recommended ratio). pid is a color-specific product id, as returned by oldnavy-search's product colors[].id field (not the bare base product id) -- the same pid oldnavy-product accepts. Select the storefront with the brand parameter (`on` for Old Navy, `gap` for Gap, `br` for Banana Republic, `at` for Athleta; defaults to `on`) -- it must match the brand the pid was found under. A product with no reviews yet returns a well-formed empty result, not an error.
Notas de la respuesta
- A product with no reviews yet returns a well-formed empty result (`total_reviews: 0`, `reviews: []`), not an error.
- `rating_histogram` is the count of ratings per star, ascending: index `0` is 1-star, index `4` is 5-star. It is omitted along with `rating_count`/`average_rating`/`recommended_ratio` when the product has no reviews at all.
- `total_reviews`/`total_pages` describe the full review set, independent of how many reviews are returned on this page.
- An unknown or invalid `pid` returns `404`.
- A non-numeric or missing `pid` returns `400` before any upstream request is made.
Herramienta MCP oldnavy_product_reviews
pid:querybrand:querypage:query+1 más