# GOAT Search API Documentation

<p><strong>GOAT Search API Documentation</strong> Search GOAT, the sneaker and apparel marketplace, by keyword with filters for brand, product type, gender, size, condition, price, instant ship, under retail and sale. Each item has its id, slug, public url, brand, silhouette, product type, gender, release date, retail price, the lowest price and the lowest instant ship price as numbers with currency, the discount against retail and the main image. Prices are in the currency of the market. The price filter is always in US dollars. Add include_facets for live counts. Each page has 12 items and the total is capped at 10000. In relevance order an item can appear on two pages. A search with no hits is a successful, billable response with an empty list. Each request costs 1 credit. The data is public GOAT data and the endpoint is read only. A failed request is never billed.</p>

- **Documentation:** [https://scrappa.co/docs/goat-api/goat_search](https://scrappa.co/docs/goat-api/goat_search)
- **API group:** GOAT API
- **Endpoint:** `GET https://scrappa.co/api/goat/search`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `query` | string | No | Search keywords, for example jordan 4. Required unless you set a brand or category. |
| `brand` | string | No | Brand slug or name, for example air-jordan or Nike. Only items of this brand are returned. |
| `category` | string | No | Product type: sneakers, tops, bottoms, outerwear, dresses or belts. Only items of this type are returned. |
| `gender` | string | No | men, women, youth or infant. Required when you send a size. |
| `size` | string | No | US size for the given category and gender, for example 10 or 10.5 for shoes, or xs to xxxl for apparel. Separate up to 5 sizes with commas. Needs category and gender. Only items with this size are returned. The price rows of an item name their size. For every size, use the product route. |
| `condition` | string | No | new, new_with_defects or used. Only items with offers in this condition are returned. |
| `price_min` | number | No | Lowest price in US dollars, in every market. Items with a lowest price below it are left out. |
| `price_max` | number | No | Highest price in US dollars, in every market. Must not be lower than price_min. |
| `instant_ship` | boolean | No | true to return only items with an instant ship offer. |
| `under_retail` | boolean | No | true to return only items priced under the retail price. |
| `sale` | boolean | No | true to return only items on sale. |
| `sort` | string | No | relevance (default), newest (release date, newest first, includes future releases), price_asc or price_desc. |
| `page` | integer | No | Page number, starting at 1. Each page has 12 items. GOAT returns at most 10000 results, so the highest page is 834. Defaults to 1. |
| `market` | string | No | us (default), uk, ca, au, de, jp or fr. Sets the currency of the prices: USD, GBP, CAD, AUD, EUR, JPY or EUR. |
| `include_facets` | boolean | No | true to add live counts by brand, colour, condition, gender, year and size to the response. |

## Example response

```json
{
    "data": {
        "sort": "relevance",
        "items": [
            {
                "id": 1581606,
                "url": "https://www.goat.com/sneakers/undefeated-x-air-jordan-4-retro-ib1519-200",
                "name": "Undefeated x Air Jordan 4 Retro 2025",
                "slug": "undefeated-x-air-jordan-4-retro-ib1519-200",
                "tags": [
                    "Instant Gifts"
                ],
                "brand": {
                    "name": "Air Jordan",
                    "slug": "air-jordan"
                },
                "image": "https://image.goat.com/attachments/product_template_pictures/images/111/637/748/original/1581606_00.png.png",
                "gender": "men",
                "prices": [
                    {
                        "condition": "any",
                        "lowest_price": {
                            "amount": 178,
                            "currency": "USD"
                        },
                        "instant_ship_lowest_price": {
                            "amount": 199,
                            "currency": "USD"
                        }
                    }
                ],
                "status": "active",
                "category": "shoes",
                "in_stock": true,
                "activities": [
                    "lifestyle"
                ],
                "silhouette": "Air Jordan 4",
                "lowest_price": {
                    "amount": 178,
                    "currency": "USD"
                },
                "product_type": "sneakers",
                "release_date": "2025-08-02T23:59:59Z",
                "retail_price": {
                    "amount": 225,
                    "currency": "USD"
                },
                "under_retail": false,
                "discount_percent": 20.9,
                "instant_ship_lowest_price": {
                    "amount": 199,
                    "currency": "USD"
                }
            }
        ],
        "query": "jordan 4",
        "facets": {
            "brands": [
                {
                    "slug": "air-jordan",
                    "count": 1038,
                    "value": "Air Jordan"
                },
                {
                    "slug": "nike",
                    "count": 11,
                    "value": "Nike"
                }
            ],
            "genders": [
                {
                    "slug": "men",
                    "count": 525,
                    "value": "men"
                },
                {
                    "slug": "youth",
                    "count": 343,
                    "value": "youth"
                },
                {
                    "slug": "infant",
                    "count": 118,
                    "value": "infant"
                }
            ],
            "conditions": [
                {
                    "slug": "new_no_defects",
                    "count": 791,
                    "value": "new_no_defects"
                },
                {
                    "slug": "used",
                    "count": 502,
                    "value": "used"
                },
                {
                    "slug": "new_with_defects",
                    "count": 363,
                    "value": "new_with_defects"
                }
            ]
        },
        "market": "us",
        "filters": [],
        "currency": "USD",
        "pagination": {
            "page": 1,
            "has_more": true,
            "per_page": 12
        },
        "total_count": 1051
    },
    "meta": {
        "billable": true,
        "endpoint_family": "search"
    },
    "success": true
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A parameter is missing or invalid. GOAT is not called and the request is not billable. |
| 503 | Upstream Unavailable | GOAT did not answer after several tries. Retry later. This response is not billable. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
