PlayStation API endpoint
Returns store metadata for a PlayStation concept: title, publisher, release date, platforms, genres, description, content rating, aggregate star rating, the default product's purchase price, media, and the full lists of purchasable editions and add-ons. 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/conceptReturns store metadata for a PlayStation concept (the "game hub" that groups every edition and add-on of a title).
Query parameters:
id (required) — numeric PlayStation concept id (e.g. 10000237).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, invariant_name, publisher, release_date (ISO), platforms[], genres[], description, content_rating (authority, name, description, url), star_rating (average, count, distribution[] — each {stars, percent}, the percent of ratings at that star value), default_product_id, price (the default product's purchase price: base_price, discounted_price, discount_text, base_price_value, discounted_value, currency_code, is_free, applicability, …), media[] (type, role, url), editions[] (product_id, name, classification, platforms, price), add_ons[] (product_id, name, classification, price), and source_url.
The purchase price prefers the outright buy CTA over subscription/upsell CTAs.
| Field | Filled in, of 17 checked | Values in the sample |
|---|---|---|
| type | 17 | IMAGE in all 17 |
| role | 17 | SCREENSHOT (10), BACKGROUND_LAYER_ART (1), FOUR_BY_THREE_BANNER (1) and 5 more |
| url | 17 | image.api.playstation.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id | string | Yes | Numeric PlayStation concept id | 10000237 | |
| 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/concept?id=10000237" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "10000237",
"name": "Assassin's Creed Valhalla",
"publisher": "Ubisoft",
"release_date": "2020-11-12T05:00:00Z",
"platforms": [
"PS4",
"PS5"
],
"genres": [
"Role Playing Games"
],
"content_rating": {
"authority": "ESRB",
"name": "ESRB_MATURE_17",
"description": "ESRB Mature 17+"
},
"star_rating": {
"average": 4.08,
"count": 84255,
"distribution": [
{
"stars": 5,
"percent": 61
},
{
"stars": 4,
"percent": 15
},
{
"stars": 3,
"percent": 9
},
{
"stars": 2,
"percent": 5
},
{
"stars": 1,
"percent": 12
}
]
},
"default_product_id": "UP0001-PPSA01491_00-GAME000000000000",
"price": {
"base_price": "$59.99",
"discounted_price": "$19.79",
"discount_text": "-67%",
"base_price_value": 5999,
"discounted_value": 1979,
"currency_code": "USD",
"is_free": false,
"applicability": "OUTRIGHT"
},
"editions": [
{
"product_id": "UP0001-PPSA01491_00-GAME000000000000",
"name": "Assassin's Creed Valhalla",
"classification": "FULL_GAME"
}
],
"add_ons": [
{
"product_id": "UP0001-PPSA01491_00-DLCEXPANSION0003",
"name": "Dawn of Ragnarok",
"classification": "ADD_ON_PACK",
"price": {
"base_price": "$39.99",
"currency_code": "USD"
}
}
],
"source_url": "https://store.playstation.com/en-us/concept/10000237"
}
}Request schema
No body schema
Response schema
#/definitions/playstation.conceptResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | playstation.ConceptDetail | No | ||||
| data.add_ons | array | No | Downloadable add-ons, such as expansions or in-game currency, sold for the title. | |||
| data.add_ons[].classification | string | No | Store classification of the add-on, for example `ADD_ON_PACK`. | |||
| data.add_ons[].name | string | No | Add-on name as shown on the PlayStation Store. | |||
| data.add_ons[].price | object | No | Purchase price of the add-on. | |||
| data.add_ons[].price.applicability | string | No | How the price applies, for example `OUTRIGHT` for a one-time purchase. | |||
| data.add_ons[].price.base_price | string | No | Regular price as a formatted string, for example `$59.99`. | |||
| data.add_ons[].price.base_price_value | integer | No | Regular price in the smallest currency unit, for example cents for USD. | |||
| data.add_ons[].price.currency_code | string | No | Currency code of the price, for example `USD`. | |||
| data.add_ons[].price.discount_text | string | No | Discount label shown on the store, for example `-67%`. | |||
| data.add_ons[].price.discounted_price | string | No | Current price after discount as a formatted string. | |||
| data.add_ons[].price.discounted_value | integer | No | Current price after discount in the smallest currency unit, for example cents for USD. | |||
| data.add_ons[].price.end_time | string | No | Time the offer ends, as the store gives it. | |||
| data.add_ons[].price.is_exclusive | boolean | No | Whether the store marks the price as exclusive to a membership. | |||
| data.add_ons[].price.is_free | boolean | No | Whether the item is free. | |||
| data.add_ons[].price.is_tied_to_subscription | boolean | No | Whether the store marks the price as tied to a subscription. | |||
| data.add_ons[].price.service_branding | array | No | Names of the PlayStation services the price is tied to. | |||
| data.add_ons[].price.upsell_text | string | No | Promotional text the store shows next to the price. | |||
| data.add_ons[].product_id | string | No | PlayStation Store product id of the add-on. Use it with the product endpoint. | |||
| data.content_rating | object | No | Age rating of the title. | |||
| data.content_rating.authority | string | No | Rating board that issued the rating, for example `ESRB`. | |||
| data.content_rating.description | string | No | Rating label in plain words, for example `ESRB Mature 17+`. | |||
| data.content_rating.descriptors | array | No | Descriptors are the human-readable content/interactivity disclosures the rating carries (e.g. "Blood", "Violence", "In-Game Purchases", "Users Interact"), merged from the store's descriptors + interactiveElements lists. | |||
| data.content_rating.name | string | No | Rating identifier as the store gives it, for example `ESRB_MATURE_17`. | |||
| data.content_rating.url | string | No | URL of the rating board's page for this rating. | |||
| data.default_product_id | string | No | Product id of the title's default edition. Use it with the product endpoint. | |||
| data.description | string | No | Long description of the title from its PlayStation Store page. | |||
| data.editions | array | No | Purchasable game editions and bundles of the title. | |||
| data.editions[].classification | string | No | Store classification of the edition, for example `FULL_GAME`. | |||
| data.editions[].name | string | No | Edition name as shown on the PlayStation Store. | |||
| data.editions[].platforms | array | No | PlayStation platforms the edition is available on. | |||
| data.editions[].price | object | No | Purchase price of the edition. | |||
| data.editions[].price.applicability | string | No | How the price applies, for example `OUTRIGHT` for a one-time purchase. | |||
| data.editions[].price.base_price | string | No | Regular price as a formatted string, for example `$59.99`. | |||
| data.editions[].price.base_price_value | integer | No | Regular price in the smallest currency unit, for example cents for USD. | |||
| data.editions[].price.currency_code | string | No | Currency code of the price, for example `USD`. | |||
| data.editions[].price.discount_text | string | No | Discount label shown on the store, for example `-67%`. | |||
| data.editions[].price.discounted_price | string | No | Current price after discount as a formatted string. | |||
| data.editions[].price.discounted_value | integer | No | Current price after discount in the smallest currency unit, for example cents for USD. | |||
| data.editions[].price.end_time | string | No | Time the offer ends, as the store gives it. | |||
| data.editions[].price.is_exclusive | boolean | No | Whether the store marks the price as exclusive to a membership. | |||
| data.editions[].price.is_free | boolean | No | Whether the item is free. | |||
| data.editions[].price.is_tied_to_subscription | boolean | No | Whether the store marks the price as tied to a subscription. | |||
| data.editions[].price.service_branding | array | No | Names of the PlayStation services the price is tied to. | |||
| data.editions[].price.upsell_text | string | No | Promotional text the store shows next to the price. | |||
| data.editions[].product_id | string | No | PlayStation Store product id of the edition. Use it with the product endpoint. | |||
| data.genres | array | No | Genre names the title is filed under. | |||
| data.id | string | No | PlayStation Store concept id, which groups every edition and add-on of a title. | |||
| data.invariant_name | string | No | Language-independent name of the title. | |||
| data.media | array | No | Images and videos shown on the title's store page. | |||
| data.media[].role | string | No | Role of the asset on the store page, as the store labels it. | |||
| data.media[].type | string | No | Kind of asset, such as an image or a video. | |||
| data.media[].url | string | No | URL of the image or video. | |||
| data.name | string | No | Title name as shown on the PlayStation Store. | |||
| data.platforms | array | No | PlayStation platforms the title is available on, for example `PS4` or `PS5`. | |||
| data.price | object | No | Purchase price of the title's default edition. | |||
| data.price.applicability | string | No | How the price applies, for example `OUTRIGHT` for a one-time purchase. | |||
| data.price.base_price | string | No | Regular price as a formatted string, for example `$59.99`. | |||
| data.price.base_price_value | integer | No | Regular price in the smallest currency unit, for example cents for USD. | |||
| data.price.currency_code | string | No | Currency code of the price, for example `USD`. | |||
| data.price.discount_text | string | No | Discount label shown on the store, for example `-67%`. | |||
| data.price.discounted_price | string | No | Current price after discount as a formatted string. | |||
| data.price.discounted_value | integer | No | Current price after discount in the smallest currency unit, for example cents for USD. | |||
| data.price.end_time | string | No | Time the offer ends, as the store gives it. | |||
| data.price.is_exclusive | boolean | No | Whether the store marks the price as exclusive to a membership. | |||
| data.price.is_free | boolean | No | Whether the item is free. | |||
| data.price.is_tied_to_subscription | boolean | No | Whether the store marks the price as tied to a subscription. | |||
| data.price.service_branding | array | No | Names of the PlayStation services the price is tied to. | |||
| data.price.upsell_text | string | No | Promotional text the store shows next to the price. | |||
| data.publisher | string | No | Publisher of the title. | |||
| data.release_date | string | No | Release date of the title, in ISO 8601. | |||
| data.source_url | string | No | PlayStation Store page the data was read from. | |||
| data.star_rating | object | No | Aggregate user rating of the title. | |||
| data.star_rating.average | number | No | Average user rating out of 5. | |||
| data.star_rating.count | integer | No | Number of user ratings. | |||
| data.star_rating.distribution | array | No | Share of ratings at each star value, from 1 to 5. | |||
| data.star_rating.distribution[].percent | integer | No | Percentage of ratings that gave this star value. | |||
| data.star_rating.distribution[].stars | integer | No | Star value, from 1 to 5. | |||
| 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/concept?id=10000237" \
-H "x-api-key: $CRAWLORA_API_KEY"