PlayStation API endpoint
Returns a page of a specific PlayStation Store category grid (by category UUID) with per-item price, platforms, and media, plus the available filter facets with value counts. Pass page to advance; next_page is set when more results exist. cc selects the store region (and price currency); l accepts a language code or locale such as en or en-US, with the locale's primary language used for text.
/playstation/categoryReturns a page of a specific PlayStation Store category grid (by category UUID) together with the available filter facets. Same response shape as /api/v1/playstation/browse.
Query parameters:
id (required) — category UUID (e.g. e7d3a34c-9a4a-4a94-a0d1-e42c94d0a3fb).page (optional, default 1) — 1-based page number.cc (optional, default us) — store country code (ISO); selects the store region and price currency.l (optional, default en) — language code such as en or ja; locale-shaped values such as en-US are normalized to en.Returns id, name, page_info (total_count, offset, size, is_last), next_page, count, items[] (each: kind, id, name, platforms[], price, media[]), facets[] (each: name, display_name, values[] with display_name, key, count), and source_url.
| Field | Filled in, of 24 checked | Values in the sample |
|---|---|---|
| kind | 24 | concept in all 24 |
| id | 24 | |
| name | 24 | “NBA 2K27” and 23 other values |
| price | 24 | |
| media | 24 | median 16 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id | string | Yes | Category UUID | e7d3a34c-9a4a-4a94-a0d1-e42c94d0a3fb | |
| page | integer | No | 1-based page number | ||
| cc | string | No | Store country code (ISO, selects currency) | ||
| l | string | No | Language code | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/playstation/category?id=e7d3a34c-9a4a-4a94-a0d1-e42c94d0a3fb&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "e7d3a34c-9a4a-4a94-a0d1-e42c94d0a3fb",
"name": "PS5 Games",
"page_info": {
"total_count": 1200,
"offset": 0,
"size": 24,
"is_last": false
},
"next_page": 2,
"count": 24,
"items": [
{
"kind": "concept",
"id": "10005024",
"name": "God of War Ragnarök",
"price": {
"base_price": "$69.99",
"discounted_price": "$69.99",
"is_free": false
}
}
],
"facets": [
{
"name": "conceptGenres",
"display_name": "Genre",
"values": [
{
"display_name": "Action",
"key": "ACTION",
"count": 900
}
]
}
],
"source_url": "https://store.playstation.com/en-us/category/e7d3a34c-9a4a-4a94-a0d1-e42c94d0a3fb"
}
}Request schema
No body schema
Response schema
#/definitions/playstation.gridResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | playstation.GridResponse | No | ||||
| data.count | integer | No | Number of items returned on this page. | |||
| data.facets | array | No | Filters available for the grid, each with its values and counts. | |||
| data.facets[].display_name | string | No | Filter name as shown on the store, for example `Price`. | |||
| data.facets[].name | string | No | Filter key, for example `webBasePrice`. | |||
| data.facets[].values | array | No | Selectable values of the filter. | |||
| data.facets[].values[].count | integer | No | Number of items matching this filter value. | |||
| data.facets[].values[].display_name | string | No | Filter value as shown on the store, for example `Free`. | |||
| data.facets[].values[].key | string | No | Value to select this filter option, for example `0-0`. | |||
| data.id | string | No | PlayStation Store category id of the grid. | |||
| data.items | array | No | Items on this page of the grid. | |||
| data.items[].classification | string | No | Store classification of the item, for example `FULL_GAME`. | |||
| data.items[].id | string | No | PlayStation Store id of the item. Use it with the concept endpoint when `kind` is `concept`, or with the product endpoint when it is `product`. | |||
| data.items[].kind | string | No | Type of store entry: `concept` or `product`. | |||
| data.items[].media | array | No | Images and videos for the item. | |||
| data.items[].media[].role | string | No | Role of the asset on the store page, as the store labels it. | |||
| data.items[].media[].type | string | No | Kind of asset, such as an image or a video. | |||
| data.items[].media[].url | string | No | URL of the image or video. | |||
| data.items[].name | string | No | Item name as shown on the PlayStation Store. | |||
| data.items[].np_title_id | string | No | PlayStation title id of the item, for example `CUSA07408_00`. | |||
| data.items[].platforms | array | No | PlayStation platforms the item is available on. | |||
| data.items[].price | object | No | Price of the item. | |||
| data.items[].price.base_price | string | No | Regular price as a formatted string, for example `$19.99`. | |||
| data.items[].price.discount_text | string | No | Discount label shown on the store, for example `-50%`. | |||
| data.items[].price.discounted_price | string | No | Current price after discount as a formatted string. | |||
| data.items[].price.is_exclusive | boolean | No | Whether the store marks the price as exclusive to a membership. | |||
| data.items[].price.is_free | boolean | No | Whether the item is free. | |||
| data.items[].price.is_tied_to_subscription | boolean | No | Whether the store marks the price as tied to a subscription. | |||
| data.items[].price.service_branding | array | No | Names of the PlayStation services the price is tied to. | |||
| data.items[].price.upsell_service_branding | array | No | Names of the PlayStation services the upsell offer refers to. | |||
| data.items[].price.upsell_text | string | No | Promotional text the store shows next to the price. | |||
| data.name | string | No | Category name as shown on the store, for example `All games`. | |||
| data.next_page | integer | No | Number of the next page. Omitted on the last page. | |||
| data.page_info | object | No | Pagination details of the grid. | |||
| data.page_info.is_last | boolean | No | Whether this is the last page of results. | |||
| data.page_info.offset | integer | No | Position of the first item on this page within all results. | |||
| data.page_info.size | integer | No | Number of items per page. | |||
| data.page_info.total_count | integer | No | Total number of results across all pages. | |||
| data.source_url | string | No | PlayStation Store page the data was read from. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/playstation/category?id=e7d3a34c-9a4a-4a94-a0d1-e42c94d0a3fb&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"