Datasets API endpoint
Searches the crawled public PlayStation Store catalog stored in a search index. One row per product SKU (game, edition or add-on); concept_id / np_title_id group a title's SKUs. price_tier enum: `free`, `under_5`, `5_to_10`, `10_to_20`, `20_to_40`, `40_to_60`, `60_plus`. Sort enum: `relevance`, `rating_desc`, `reviews_desc`, `price_asc`, `price_desc`, `discount_desc`, `release_desc`, `release_asc`. Billing: this search costs 1 credit per record returned, with a minimum of 2 (an empty result costs 2, a full page of 100 costs 100).
/datasets/playstation-games/searchSearches the crawled public PlayStation Store catalog stored in a search index. One row per product SKU (a game, edition, or add-on); concept_id and np_title_id group all SKUs of a title. Prices are integer minor units (e.g. cents) in the row's region currency.
Query parameters:
q — full-text query over name and publisher (max 256 chars).publisher, genre, platform, content_rating, content_descriptor, branding, region, concept_id, np_title_id, run_id — exact-match filters (max 128 chars).content_descriptor — a content/interactivity disclosure (e.g. Blood, Violence, In-Game Purchases, Users Interact).classification — exact classification: FULL_GAME, PREMIUM_EDITION, GAME_BUNDLE, ADD_ON_PACK, VIRTUAL_CURRENCY, LEVEL, OTHER.platform — PS4 or PS5.price_tier — one of free, under_5, 5_to_10, 10_to_20, 20_to_40, 40_to_60, 60_plus.is_free, is_addon, is_tied_to_subscription, coming_soon, on_sale — boolean filters (is_tied_to_subscription = included with a subscription such as PS Plus) (is_addon=true returns add-ons/DLC/currency, false returns games and editions).min_price_value, max_price_value — price range in minor units.min_star_rating (0–5), min_star_count, min_discount_pct (0–100), min_release_year, max_release_year — numeric filters.sort — one of relevance, rating_desc, reviews_desc, price_asc, price_desc, discount_desc, release_desc, release_asc. Defaults to relevance with q, otherwise reviews_desc (popularity).page (default 1), page_size (default 20, max 100). page * page_size must be ≤ 10000.Rows also include description (searchable), content_descriptors[], is_tied_to_subscription, and discount_end_time. Returns {dataset, items[], page, page_size, total, sort}. An empty or not-yet-populated dataset returns an empty items list, not an error.
1 credit per record returned, minimum 2. A search that returns 20 records costs 20 credits, a full page of 100 costs 100, and an empty or one-record result costs 2. You are charged for what comes back, not for the page_size you ask for, but your balance must cover the requested page_size for the call to be accepted. The response header x-credit-cost shows what a call was charged.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| product_id | 20 | |
| concept_id | 20 | |
| np_title_id | 20 | |
| name | 20 | |
| publisher | 20 | |
| classification | 20 | |
| is_addon | 20 | true in 4 of 20 |
| platforms | 20 | median 1 entry |
| genres | 20 | median 2 entries |
| content_rating_authority | 20 | |
| content_rating_name | 20 | |
| content_rating_desc | 20 | |
| content_descriptors | 18 | median 3 entries |
| star_rating_avg | 20 | 4.31 |
| star_rating_count | 20 | 7,994,428 to 8,088,364, median 7,994,463 |
| is_free | 20 | true in 16 of 20 |
| is_tied_to_subscription | 20 | true in 0 of 20 |
| base_price_value | 20 | 0 |
| discounted_value | 20 | 0 |
| currency | 20 | |
| discount_pct | 20 | 0 |
| price_tier | 16 | |
| service_branding | 16 | median 1 entry |
| release_date | 20 | 2017-07-20 to 2026-04-16 |
| release_year | 20 | 2,017 to 2,026, median 2,023 |
| coming_soon | 20 | true in 0 of 20 |
| header_image | 20 | image.api.playstation.com |
| region | 20 | |
| source_url | 20 | store.playstation.com |
| seed_rank | 20 | 3,110 to 10,000,332, median 25,558 |
| run_id | 20 | |
| crawled_at | 20 | 2026-07-12 to 2026-09-25 |
| schema_version | 20 | |
| quality_state | 8 | |
| quality_reason | 8 | |
| quality_checked_at | 8 | 2026-09-25 |
| description | 12 | median 642 characters |
| edition_count | 12 | 8 |
| addon_count | 12 | 9 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | No | Full-text query over name and publisher, max 256 characters | ||
| publisher | string | No | Exact publisher filter, max 128 characters | ||
| classification | string | No | Exact classification filter: FULL_GAME, PREMIUM_EDITION, GAME_BUNDLE, ADD_ON_PACK, VIRTUAL_CURRENCY, LEVEL, OTHER | ||
| genre | string | No | Exact genre filter (e.g. Action, Role Playing Games), max 128 characters | ||
| platform | string | No | Exact platform filter: PS4 or PS5 | ||
| content_rating | string | No | Exact content-rating authority filter (e.g. ESRB, PEGI), max 128 characters | ||
| content_descriptor | string | No | Exact content-descriptor filter (e.g. Blood, Violence, In-Game Purchases, Users Interact), max 128 characters | ||
| price_tier | string | No | Price-tier enum: free, under_5, 5_to_10, 10_to_20, 20_to_40, 40_to_60, 60_plus Allowed values: free, under_5, 5_to_10, 10_to_20, 20_to_40, 40_to_60, 60_plus. | ||
| branding | string | No | Exact subscription/service-branding filter (e.g. PS_PLUS, EA_PLAY, UBISOFT_PLUS), max 128 characters | ||
| region | string | No | Exact store region (country code) filter, max 128 characters | ||
| concept_id | string | No | Exact concept id filter (groups all SKUs of a title), max 128 characters | ||
| np_title_id | string | No | Exact np_title_id filter, max 128 characters | ||
| run_id | string | No | Exact crawl run-id filter, max 128 characters | ||
| is_free | boolean | No | Filter by free flag | ||
| is_addon | boolean | No | Filter: true returns add-ons/DLC/currency, false returns games and editions | ||
| is_tied_to_subscription | boolean | No | Filter for titles included with a subscription (e.g. free with PS Plus) | ||
| coming_soon | boolean | No | Filter for pre-release / not-yet-purchasable titles | ||
| on_sale | boolean | No | Filter by titles currently discounted (discount_pct > 0) | ||
| min_price_value | integer | No | Minimum current price in minor units (e.g. cents) | ||
| max_price_value | integer | No | Maximum current price in minor units (e.g. cents) | ||
| min_star_rating | number | No | Minimum average star rating, 0 through 5 | ||
| min_star_count | integer | No | Minimum number of star ratings | ||
| min_discount_pct | integer | No | Minimum discount percent, 0 through 100 | ||
| min_release_year | integer | No | Minimum release year | ||
| max_release_year | integer | No | Maximum release year | ||
| sort | string | No | Sort enum: relevance, rating_desc, reviews_desc, price_asc, price_desc, discount_desc, release_desc, release_asc Allowed values: relevance, rating_desc, reviews_desc, price_asc, price_desc, discount_desc, release_desc, release_asc. | ||
| page | integer | No | 1 | Page number, defaults to 1 | |
| page_size | integer | No | 20 and maxes at 100 | Page size, defaults to 20 and maxes at 100; page * page_size must be <= 10000 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/datasets/playstation-games/search?q=coffee&price_tier=free&is_free=true&is_addon=true&is_tied_to_subscription=true&coming_soon=true&on_sale=true&sort=relevance&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"dataset": "playstation-games",
"items": [
{
"product_id": "UP0001-PPSA01491_00-GAME000000000000",
"concept_id": "10000237",
"name": "Assassin's Creed Valhalla",
"publisher": "Ubisoft",
"platforms": [
"PS4",
"PS5"
],
"genres": [
"Role Playing Games"
],
"classification": "FULL_GAME",
"is_addon": false,
"base_price_value": 5999,
"discounted_value": 1979,
"currency": "USD",
"discount_pct": 67,
"price_tier": "10_to_20",
"star_rating_avg": 4.08,
"star_rating_count": 84255,
"release_date": "2020-11-12T05:00:00Z",
"release_year": 2020,
"region": "us"
}
],
"page": 1,
"page_size": 20,
"total": 1,
"sort": "reviews_desc"
}
}Request schema
No body schema
Response schema
#/definitions/datasets.playstationGamesSearchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | datasets.PlaystationSearchResponse | No | ||||
| data.dataset | string | No | ||||
| data.items | array | No | PlaystationGameRecord record, 41 fields: addon_count, base_price_value, classification, coming_soon, concept_id, content_descriptors, content_rating_authority, content_rating_desc, content_rating_name, crawled_at, currency, description and 29 more. Described under Get a PlayStation game from dataset API. | |||
| data.page | integer | No | ||||
| data.page_size | integer | No | ||||
| data.sort | string | No | ||||
| data.total | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/datasets/playstation-games/search?q=coffee&price_tier=free&is_free=true&is_addon=true&is_tied_to_subscription=true&coming_soon=true&on_sale=true&sort=relevance&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"