---
title: "List J.Crew or J.Crew Factory categories"
method: GET
path: "/jcrew/categories"
tags: ["J.Crew"]
---

# List J.Crew or J.Crew Factory categories

`GET /jcrew/categories`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/jcrew/categories`
- Auth: API key in header `x-api-key`

Lists every category and subcategory from the storefront's own header navigation, flattened into department/section/category triples -- resolves the category-discovery gap jcrew-category's own category parameter otherwise leaves as "find one from a storefront URL". Each entry's category value is exactly what jcrew-category's own category parameter accepts. Filter to one department with department (e.g. women, men); omit for every department. Departments vary slightly by site (jcrew.com has an extra "home" department factory.jcrew.com doesn't) -- see the response's own departments field for the live list.

## Query parameters

- `site` 'jcrew' | 'factory'
- `department` string

## Headers

- `x-api-key` string, required

## Response `200`

OK

- JcrewCategoriesResponseDoc
  - `code` integer
  - `data` JcrewCategoriesResponse
    - `categories` JcrewNavCategory[]
      - `category` string
      - `department` string
      - `label` string
      - `section` string
    - `departments` string[]
    - `fetched_at` string
    - `site` string
    - `source_url` string
  - `msg` string

## Other responses

- `400`: Bad Request
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/0497899e2016?raw)
