SuperAPI AI Directory

oldnavy-research

Writing & research

View repository

Updated 10-15 20:29

About this skill

Old Navy research

Browse and search Old Navy's catalog (and its Gap Inc. sibling storefronts — Gap, Banana Republic, Athleta) and pull product detail, per-store pickup availability, and reviews — all as normalized JSON from the Crawlora API, with no HTML scraping.

When to use this skill

  • "What does X cost on Old Navy?" or "find X on Old Navy/Gap/Banana Republic/Athleta."
  • "Browse this Old Navy category" / "what's in Old Navy's [department]?"
  • "Is this Old Navy item in stock for pickup near me?"
  • "Pull the reviews for this Old Navy product."
  • "Find the nearest Old Navy/Gap/Banana Republic/Athleta store."

Setup (one-time)

  • Get a free Crawlora API key (2,000 credits/mo, no card) at https://crawlora.net.
  • Set CRAWLORA_API_KEY in the environment before running the helper.
  • The helper reads CRAWLORA_API_KEY from the environment and sends requests to https://api.crawlora.net/api/v1. Missing/invalid key → 401.

How it works

  1. Find a category id — /oldnavy/categories lists the storefront's own navigation as name/cid pairs; omit cid for the top-level divisions (Women, Men, Boys, Toddler), or pass one to list the categories nested under it.
  2. Browse or search — /oldnavy/category (cid) or /oldnavy/search (keyword) return paginated product summaries with pricing, review scores, and every purchasable color variant (colors[].id).
  3. Detail — /oldnavy/product (pid, a color-specific id from a result's colors[].id, not the base product id) fetches name, description, images, rating, and every size offered in that color as a priced offer.
  4. Availability — /oldnavy/product/availability (pid plus store_id, or zip, or lat+lng) checks per-size in-store pickup stock at one or more physical stores.
  5. Reviews — /oldnavy/product/reviews (pid) pulls one page of customer reviews plus the rating summary/histogram.
  6. Nearby stores — /oldnavy/stores (search and/or lat+lng) looks up physical store locations (address, phone, distance, specialties).

Every call above takes brand (on Old Navy, gap Gap, br Banana Republic, at Athleta; defaults to on) to pick the storefront — a cid or pid only works against the brand it was found under.

Full endpoint list, methods, and params: reference/endpoints.md.

Calling the API

# Top-level Old Navy divisions, then categories under one:
scripts/crawlora.sh /oldnavy/categories | jq '.'
scripts/crawlora.sh /oldnavy/categories cid=5155 | jq '.'

# Search (defaults to brand=on; pass brand=gap/br/at for the siblings):
scripts/crawlora.sh /oldnavy/search keyword="linen shirt" | jq '.'

# Browse a category:
scripts/crawlora.sh /oldnavy/category cid=5155 page=1 | jq '.'

# Product detail (pid is color-specific, from a search/category colors[].id):
scripts/crawlora.sh /oldnavy/product pid=123456002 | jq '.data'

# In-store pickup availability near a zip code:
scripts/crawlora.sh /oldnavy/product/availability pid=123456002 zip=94103 | jq '.'

# Reviews:
scripts/crawlora.sh /oldnavy/product/reviews pid=123456002 page=1 | jq '.'

Use scripts/crawlora.sh for all requests; it keeps the API key out of command-line arguments.

Endpoint reference

See reference/endpoints.md for every Old Navy endpoint this skill uses (method, path, params, description).

Examples

  • Category sweep: /oldnavy/categories to find a division's cid, then /oldnavy/category paginated to list products and their color variants.
  • Product due diligence: /oldnavy/product for price/rating detail on a color variant, then /oldnavy/product/reviews (same pid) to summarize what customers say before recommending it.
  • Check local pickup: /oldnavy/search or /oldnavy/category to get a pid, then /oldnavy/product/availability with zip (or store_id from /oldnavy/stores) to see which sizes are in stock nearby.

Notes & limits

  • Credits / pay-on-success: billed only on 2xx; free tier 2,000 credits/mo. Key at https://crawlora.net.
  • Public data only — public Old Navy/Gap/Banana Republic/Athleta product and category pages; respect each storefront's terms.
  • Security: key lives in CRAWLORA_API_KEY only — never hardcode, query-param, or commit it.
  • brand selects the storefront (on/gap/br/at, defaults to on) on every endpoint except /oldnavy/categories, which currently only supports on — Gap, Banana Republic, and Athleta render their category navigation client-side with no server-rendered id to scrape. A cid or pid only resolves against the brand it was found under.
  • Product identity is pid, a color-specific id from a search/category result's colors[].id field — not the bare base product id. /oldnavy/product, /oldnavy/product/availability, and /oldnavy/product/reviews all key off it.
  • /oldnavy/search is best-effort relevance, not a guaranteed keyword match — an obscure or nonsense keyword can fall back to the upstream index's own recommended results with no signal distinguishing that from a true match.
  • Pagination is one-based page everywhere it applies (category, search, product/reviews at 10 reviews/page); a product with no reviews yet returns a well-formed empty result, not an error.
  • /oldnavy/product/availability and /oldnavy/stores both accept location either as store_id (comma-separated) / search, or via zip, or via lat+lng together — /oldnavy/stores is location lookup only and doesn't report per-item stock.