PlayStation Store API
GET /api/v2/account, GET /api/v2/account/usage and PUT /api/v2/account/regions — see the v2 reference.
Apply for API access → /api.php), which is now deprecated. It will be retired on 1 December 2026 — you have a 6-month window to migrate. It still works today, but all new integrations should use the modern v2 REST API — header auth, filtering, pagination, price history and unified game cards. → Go to the v2 reference.
region parameter follows the same rules as v2: each plan covers a set number of regions (Free: 2 – US & GB by default; Indie: 5; Pro: 20; Business: all). Requests for a region your key isn’t enabled for will return error:5. If you only ever call your enabled regions (or omit region, which defaults to US), nothing changes for you. You can see and adjust your enabled regions on your developer dashboard, or upgrade for more.Need an exception or more time? If this date is tight for you, or your project genuinely needs regions beyond your plan, just reach out — the best way is our help desk at platprices.com/support (you can also open a ticket from your profile, or email [email protected]). We review every request individually and we’re happy to work something out.
The PlatPrices PlayStation Store API gives developers programmatic access to PlayStation game data in clean, easy-to-use JSON: current PS4 and PS5 prices, full price history, live sales and discounts, and detailed trophy information – across 47 PlayStation Store regions. It returns exactly the same data shown throughout PlatPrices, so it is always kept up to date.
- PlayStation Store API
- PS5 & PS4 prices
- Price history
- Sales & discounts
- Trophy & platinum data
- 47 regions
- JSON
What the PlayStation Store API provides
Trophy dataUnique
Bronze/silver/gold/platinum counts, a difficulty rating, estimated hours to platinum and links to popular trophy guides – data general price APIs don’t have.
Live & historical pricing
Base, sale and PS Plus prices with DiscPerc, in raw cents and a formatted string, plus when a title was last discounted.
Sales & discounts
Pull everything discounted in the last 48 hours, list every active store sale, or fetch a single sale’s full line-up.
47 regions
Add ®ion=GB (any ISO 2-letter code) for that country’s pricing and release date. From 1 August 2026 the regions you can request follow your plan (see the notice at the top).
Rich metadata
Genres, audio/subtitle languages, ratings, download sizes, screenshots and the OpenCriticID for review data.
Flexible lookups
Find a product by ppid, official psnid (CUSA/PPSA), or fuzzy name search.
Plans & Pricing
Start free with 1,000 requests a month – no card required. Upgrade any time as your usage grows; limits are counted per calendar month (UTC), and every response includes your current apiLimit and apiUsage. List endpoints (/games, /deals) return up to your plan’s page size per request — 25 on Free, up to 200 on Business — so a single request can fetch many titles at once.
Free
For evaluating the API and hobby projects.
- Live prices & current sales
- Trophy data (difficulty, time-to-platinum)
- 2 regions
- 1,000 requests / month
- Up to 25 games per list request
- Clean JSON — no card required
- Non-commercial use only
Indie
For indie devs and small sites.
- Everything in Free
- Commercial use allowed
- Price history (last 3 months)
- 5 regions
- 20,000 requests / month
- Up to 50 games per list request
- Email support
Pro
For production apps and growing traffic.
- Everything in Indie
- 20 regions
- 100,000 requests / month
- Up to 100 games per list request
- Priority email support
Business
For high-volume and commercial use.
- Everything in Pro
- Deep price history (12 months)
- All 47 regions
- 500,000 requests / month
- Up to 200 games per list request
- Priority support
Need more than 500,000 requests a month, a full multi-region mirror, or a custom price-history export? Talk to us – we’re happy to tailor a plan. After subscribing, your API key is emailed to you – see the welcome note for how to claim it.
API Terms of Use. Use the API in your apps, sites, dashboards, analytics and user-facing alerts. Commercial use requires a paid plan — the Free plan is for evaluation and non-commercial projects only. You may not use the API to build a directly competing price-tracking service, resell or redistribute the raw data, bulk-archive data beyond your plan’s limits and history window, or scrape platprices.com to get around those limits. Plans where attribution is required must show “Powered by PlatPrices” with a link wherever the data is displayed publicly. Keys that violate these terms may be throttled or revoked. Questions about a use case? Just ask.
API keys are not issued for personal use. This includes personal Telegram or Discord price-alert bots, private scripts, and local databases — anything built primarily for your own use rather than serving a public audience. Keys are also not issued for tools that replicate or bypass platprices.com (e.g. building your own local PS Store price database). If you’re building something that serves real users publicly, apply for access and describe your project.
Quick Start
1. Apply for a key · 2. Make a GET request · 3. Read JSON. That’s it – no SDK required.
# A game's price & trophy data (US store) curl "https://platprices.com/api.php?key=$PP_KEY&ppid=7704®ion=us" # Everything discounted in the UK in the last 48 hours curl "https://platprices.com/api.php?key=$PP_KEY&discount=1®ion=GB"
To get your key, fill in the short request form – tell us about your project and which data you need, and we’ll set you up (usually within 1–2 business days). The full reference for every endpoint and field is below.
API v2 (REST) is the recommended interface — header auth, filtering, pagination, price history and unified game cards. → Read the v2 reference. The v1 endpoint documented below is deprecated and will be retired on 1 December 2026.
How do I get Information About a Single Game or Product?
The API is accessed simply via a GET request (i.e., a standard web request), and the data is returned in JSON format. For example, accessing the URL https://platprices.com/api.php?key=<API key>&ppid=7704, where <API key> is your API key, gives information like the following:
{
"PPID":"7704",
"PSNID":"UP0700-CUSA03388_00-DARKSOULS3DELUXE",
"GameID":"CUSA03388",
"PlatPricesURL":"https://platprices.com/en-us/game/7704-dark-souls-iii-deluxe-edition",
"PSStoreURL":"https://store.playstation.com/en-us/product/UP0700-CUSA03388_00-DARKSOULS3DELUXE",
"ProductName":"Dark Souls III - Deluxe Edition",
"GameName":"Dark Souls III",
"Publisher":"BANDAI NAMCO Entertainment America Inc.",
"Developer":"FromSoftware",
"ReleaseDate":"2016-04-12",
"Desc":"The DARK SOULS III Deluxe Edition includes the full game & the Season Pass. First DLC coming Fall 2016. DARK SOULS III pushes the boundaries with the latest chapter in the series. Journey once more into a world filled with daunting, colossal enemies and environments. Players will be immersed into a world of epic atmosphere and darkness through faster gameplay and amplified combat intensity. With the new skills attacks, deliver powerful attacks to break through enemy defense weapons equipped with unique skills. Expand your experience with the Season Pass content featuring new maps, bosses, enemies and additional weapon and armor sets. Embrace The Darkness!",
"IsPS4":"1",
"IsPS5":"0",
"IsDLC":"0",
"IsDemoOrSoundtrack":"0",
"IsVR":"0",
"IsMove":"0",
"VitaCB":"0",
"PS4Size":"18244304896",
"PS5Size":"0",
"OnlinePlay":"1",
"OfflinePlayers":"1",
"OnlinePlayers":"6",
"PSPlusNeeded":"0",
"VoiceLang":"[\"en\",\"fr\",\"de\",\"it\",\"es\",\"ja\"]",
"SubtitleLang":"[\"en\",\"fr\",\"de\",\"it\",\"es\",\"ja\",\"pl\",\"pt_BR\",\"ru\"]",
"Rating":"ESRB Mature",
"RatingDesc":"[\"Violence\",\"Blood\",\"Online Interactions Not Rated by the ESRB\"]",
"OpenCriticID":"1520",
"MetacriticURL":"",
"Img":"https://image.api.playstation.com/cdn/UP0700/CUSA03388_00/Fg2otuFMeKjhnXG2QLUrwKqrMNvsC0n9.png",
"CoverArt":"https://image.api.playstation.com/vulcan/img/rnd/202010/0823/nwAKSQRMXqURmgOYHaxickuk.png",
"LogoImg":"https://image.api.playstation.com/vulcan/img/rnd/202010/0822/0p6wO8PkVsDjPntPBcsHSkOA.png",
"Screenshot1":"https://image.api.playstation.com/vulcan/img/rnd/202010/0823/VrGmJUyUWqMBVhhvGowb6hXq.jpg",
"Screenshot2":"https://image.api.playstation.com/vulcan/img/rnd/202010/0823/7hosVKSR2b7VPVOtfp7rDTZ3.jpg",
"Screenshot3":"https://image.api.playstation.com/vulcan/img/rnd/202010/0823/RHgdm97GVu1FBiBL9Lsxxe6v.jpg",
"Screenshot4":"https://image.api.playstation.com/vulcan/img/rnd/202010/0823/P2zlJtnaG1wfRmg6fTiSAusG.jpg",
"Screenshot5":"https://image.api.playstation.com/vulcan/img/rnd/202010/0823/VTGFPgDF4Z1FvHAp5LFTxTm6.jpg",
"Screenshot6":"https://image.api.playstation.com/vulcan/img/rnd/202010/0823/MjSef2xM8l36gPG0yZ9G5F7J.jpg",
"Screenshot7":"https://image.api.playstation.com/vulcan/img/rnd/202010/0823/BQNnUfmvk097R1qdHzwjSBhf.jpg",
"Screenshot8":"https://image.api.playstation.com/vulcan/img/rnd/202010/0823/0nUcgegErR7Du10mDUZ798bR.jpg",
"Screenshot9":"https://image.api.playstation.com/vulcan/img/rnd/202010/0823/FYUOrf3v8hMW1l4gWZy2Llba.jpg",
"PreviewVideo":"",
"GenreAction":"1",
"GenreAdventure":"1",
"GenreArcade":"0",
"GenreFighting":"0",
"GenreFPS":"0",
"GenreHorror":"0",
"GenreIntStory":"0",
"GenreMMO":"0",
"GenreMusic":"0",
"GenrePlatformer":"0",
"GenrePuzzle":"0",
"GenreRacing":"0",
"GenreRPG":"1",
"GenreSimulation":"0",
"GenreSports":"0",
"GenreStrategy":"0",
"GenreTPS":"0",
"Bronze":"26",
"Silver":"13",
"Gold":"3",
"Platinum":"1",
"Difficulty":"6",
"HoursLow":"75",
"HoursHigh":"100",
"TrophyListURL":"https://psnprofiles.com/trophies/4477-dark-souls-iii",
"GuidePSNP":"4281-dark-souls-iii-trophy-guide",
"GuidePS3T":"https://www.playstationtrophies.org/game/dark-souls-3/guide/",
"GuidePS3I":"",
"GuidePyx":"https://www.powerpyx.com/guides/dark-souls-3-trophy-guide.html",
"GuideKnoef":"",
"GuideYoutube":"00000000000",
"GuideDex":"",
"GuideCust":"",
"GuideCustLabel":"",
"GuideCustom":"[{\"url\":\"https://example.com/guide\",\"label\":\"Community Guide\"}]",
"Region":"US",
"BasePrice":"8499",
"PlusPrice":"2124",
"SalePrice":"2124",
"formattedBasePrice":"$84.99",
"formattedSalePrice":"$21.24",
"formattedPlusPrice":"$21.24",
"DiscPerc":"75",
"LastDiscounted":"2021-02-10 09:11:04",
"DiscountedUntil":"2021-02-25 07:59:00",
"apiLimit":"100",
"apiUsage":"15",
"error":0,
"errorDesc":""
}
How do I specify which product or game I want information for?
To tell the API which game or product you would like information about, specify exactly one of the following three parameters in the URL querystring:
ppid: The "PlatPrices ID" of the product. This ID number can be found in the URL of every product page on PlatPrices. For example, since the PlatPrices page for Dark Souls III - Digital Deluxe Edition is https://platprices.com/en-us/game/7704-dark-souls-iii-deluxe-edition, we see that itsppidis 7704, which is why we specifiedppid=7704in our first example above.psnid: The "PSN ID" of the product. This ID string can be found in the URL of every product page on the official PSN web store. For example, since the official PSN web store URL for Dark Souls III - Digital Deluxe Edition is https://store.playstation.com/en-us/product/UP0700-CUSA03388_00-DARKSOULS3DELUXE, accessing the API urlhttps://platprices.com/api.php?key=<API key>&psnid=UP0700-CUSA03388_00-DARKSOULS3DELUXEreturns the exact same information as our first example above.name: The name of the game or product. If this is provided, the API will return information about the most relevant product that it finds in the database. For example, the API URLhttps://platprices.com/api.php?key=<API key>&name=Dark Souls 3will return information about the base version of Dark Souls III, whereas the API URLhttps://platprices.com/api.php?key=<API key>&name=Dark Souls 3 Deluxewill return information about the deluxe edition of Dark Souls III. The game/product name does not need to be an exact match, but the lookup algorithm is also not perfect, so better-formatted names are more likely to return the product you are actually interested in. An error will be returned if no product with a similar name can be found.
region parameter, which takes a 2-letter country code. By default the region is "US", but if you specify another region then pricing information and the release date will be returned for that region. For example, the url https://platprices.com/api.php?key=<API key>&name=Dark Souls 3 Deluxe®ion=GB returns the same data as in our first example above, but with the release date and pricing information corresponding to the United Kingdom instead of the United States.
What do the values returned by the API mean?
For the most part, the values returned by the API should be self-explanatory. However, we clarify some of them here:
IsVR: "0" means VR not supported, "1" means VR is optional, "2" means VR is requiredIsMove: "0" means Move controllers are not supported, "1" means Move controllers are optional, "2" means Move controllers are requiredVitaCB: "0" or "1", indicating whether or not this game offers a Vita version via cross-buyPS4SizeandPS5Size: the download size, in bytes, of the productOnlinePlay: "0" means the game is offline-only, "1" means online and offline modes are supported, "2" means the game is online-onlyVoiceLang: a JSON-encoded string like["en","es"]listing the language codes of the supported voice languages. It is a string here, not an array, so you have to decode it yourself. API v2 returns this as a real JSON arraySubtitleLang: a JSON-encoded string like["en","es"]listing the language codes of the supported subtitle languages. It is a string here, not an array, so you have to decode it yourself. API v2 returns this as a real JSON arrayOpenCriticID: the numeric ID of this game on OpenCritic, which can be used to look up game and review information from the (also free) OpenCritic API via URLs likehttps://api.opencritic.com/api/game/1520MetacriticURL: the Metacritic URL of this game, which is only provided if the game does not have an OpenCritic entryDiscPerc: the current discount percentageLastDiscounted: the last time (in UTC) that we noticed this product go on sale – this might not be the exact time that it actually went on saleerror: 0 if successfully returned product information, a bigger-than-zero number if an error was encountered
Store metadata fields (API v2 only)
We collect a set of extra fields straight from the PlayStation Store. Every field listed below is returned by the v2 REST API only. The v1 endpoint on this page returns none of them, so that its response shape never changes for existing integrations.
One thing to be clear about, because it is easy to misread: VoiceLang and SubtitleLang are not new and are not v2 only. v1 has always returned both, and still does, as the JSON-encoded strings documented above. What v2 adds is the array form and the per-platform split.
VoiceLangandSubtitleLang(v2): the same two lists as above, but as real JSON arrays, for example["en","pt_BR"]. The array is always flat and every element is a plain string. An empty array means we have no language data for the product. Elements are normally language codes, but a small number of products were labelled by hand by our staff and come back as readable names instead, for example["English","French"], so read an element as an opaque stringVoiceLangByPlatformandSubtitleLangByPlatform(v2): the same lists split per platform, as a JSON object keyed byPS3,PS4,PS5orVITA, for example{"PS4":["en"],"PS5":["en","fr"]}. An empty object means we have no per-platform breakdownNpTitleId(v2): Sony's own title ID for the product, for examplePPSA17599_00. Null until we have seen itConceptID(v2): an integer that groups every edition of one game together on the PlayStation Store. Two products with the sameConceptIDare two editions of the same gameStarRating(v2): the average user rating on the PlayStation Store, a number from 0 to 5, for example4.83StarRatingCount(v2): how many user ratings that average is based onShortDesc(v2): the short description, or tagline, that the store shows above the fullDesc. English onlyEditionName(v2): the edition label, for exampleStandard EditionorDeluxe Edition. English onlyEditionType(v2): Sony's machine-readable code for that editionStoreClass(v2): how the store classifies the product, for exampleFULL_GAME,PREMIUM_EDITIONorOTHER. This one is language independentStoreClassLocal(v2): the same classification as the store displays it, for exampleAdd-onorCostume. English onlyPrivacyPolicyURL(v2): the publisher privacy policy link the store lists for the productIsAgeRestricted(v2):1if the store marks the product as age restricted,0if it does not, andnullif we have never observed the flag
Every field in this list is null until we have actually observed it, apart from the four language fields, which are an empty array or an empty object instead. A product we have not rescanned since we started collecting this data will return nulls.
The store’s own price fields (API v2 only)
Three more fields come from the store rather than from our own price history. They are per region, they are v2 only, and each is null until we have seen it on that storefront.
LowestRecentPrice(v2): Sony’s own lowest price for this product in this region over the last 30 days – the figure the EU Omnibus directive requires them to publish on the product page. An integer in the region’s minor units, likeBasePrice, withformattedLowestRecentPricealongside it. This is a 30 day window and Sony’s own number, so it is not the same thing as ourLowestEverPriceand the two will often disagreeLaunchPrice(v2): the launch price the store reports, in the same minor units, withformattedLaunchPricealongside it. Sony leaves this empty for most products, so expect it to be null far more often than notPriceCurrency(v2): the ISO 4217 code the storefront quoted those prices in, for exampleUSD,CZKorJPY. Read this instead of guessing from the symbol, since$on its own could be any of six currencies we cover
The two formatted… companions here are always present and are null when the price is, so you can read both keys without checking first.
Delisting: a change in what we detect
When a product is permanently withdrawn, the PlayStation Store still answers with HTTP 200, but the page it sends back contains no product at all. We used to read that as “the page loaded, so the product is still live”. We now recognise it and treat it the same as a 404.
No field changes shape or meaning. Delisted and PubDelisted in v1, and IsDelisted in v2, are still 0 or 1. The effect is on the data: products that had already left the store while we still listed them as live will start reporting as delisted. If you branch on those flags, expect a one-off step up in how many products match. A product is only marked delisted after repeated evidence across several regions, and a delisting one of our moderators has ruled on by hand is never overridden.
How Can I Get a List of Games That Recently Went on Sale?
There are a couple of different ways to do this. The simplest is to specify discount=1 in the URL querystring (instead of the other parameters discussed above), which returns a list of all games that had new discounts applied within the past 48 hours. For example, accessing the URL https://platprices.com/api.php?key=<API key>&discount=1, where <API key> is your API key, gives a list of products in the following format:
{
"discounts":[
{
"PPID":"35552",
"Name":"Godfall - Digital Deluxe",
"PlatPricesURL":"https://platprices.com/en-us/game/35552-godfall-digital-deluxe",
"LastDiscounted":"2021-02-15 08:10:05",
"DiscountedUntil":"2021-02-24 07:59:00",
"BasePrice":"8999",
"SalePrice":"6029",
"PlusPrice":"6029",
"formattedBasePrice":"$89.99",
"formattedSalePrice":"$60.29",
"formattedPlusPrice":"$60.29",
"Difficulty":"6",
"HoursLow":"40",
"HoursHigh":"60",
"IsPS4":"0",
"IsPS5":"1"
},
{
"PPID":"35551",
"Name":"Godfall",
"PlatPricesURL":"https://platprices.com/en-us/game/35551-godfall",
"LastDiscounted":"2021-02-15 08:10:05",
"DiscountedUntil":"2021-02-24 07:59:00",
"BasePrice":"6999",
"SalePrice":"3989",
"PlusPrice":"3989",
"formattedBasePrice":"$69.99",
"formattedSalePrice":"$39.89",
"formattedPlusPrice":"$39.89",
"Difficulty":"6",
"HoursLow":"40",
"HoursHigh":"60",
"IsPS4":"0",
"IsPS5":"1"
},
{
"PPID":"35550",
"Name":"Godfall - Ascended Edition",
"PlatPricesURL":"https://platprices.com/en-us/game/35550-godfall-ascended-edition",
"LastDiscounted":"2021-02-15 08:10:04",
"DiscountedUntil":"2021-02-24 07:59:00",
"BasePrice":"9999",
"SalePrice":"6999",
"PlusPrice":"6999",
"formattedBasePrice":"$99.99",
"formattedSalePrice":"$69.99",
"formattedPlusPrice":"$69.99",
"Difficulty":"6",
"HoursLow":"40",
"HoursHigh":"60",
"IsPS4":"0",
"IsPS5":"1"
}
],
"error":0,
"errorDesc":"",
"apiLimit":"100",
"apiUsage":"13"
}
Each game's PPID is provided so that additional information about it can be obtained via another API query, if desired.
Optionally, you may also specify a region parameter, which takes a 2-letter country code. By default the region is "US", but if you specify another region then pricing and discount information will be returned for that region. For example, the url https://platprices.com/api.php?key=<API key>&discount=1®ion=GB returns the discounts that went live in the United Kingdom region of the PlayStatation store in the last 48 hours.
How Can I Get Information About All Active Sales?
You can get a list of all active sales (i.e., the sales marked "Active" on this page) by specifying sales=1 in the URL querystring (instead of the other parameters discussed above). This will return information like the following:
{
"sales":[
{
"ID":"441",
"SaleTime":"2021-02-17 08:11:44",
"SaleEnd":"2021-03-04 07:59:00",
"NumGames":"437",
"ImgURL":"https://image.api.playstation.com/pr/bam-art/115/768/0aa46a23-85a4-4c9d-ad09-36d225975703.png",
"SaleName":"Double Discounts sale"
},
{
"ID":"398",
"SaleTime":"2021-02-10 02:29:07",
"SaleEnd":"2021-02-25 07:59:00",
"NumGames":"212",
"ImgURL":"https://image.api.playstation.com/pr/bam-art/115/690/02d28f2d-f493-4c1d-b2a7-e47d24e466d0.jpg",
"SaleName":"Big in Japan Sale"
}
],
"error":0,
"errorDesc":"",
"apiLimit":"100",
"apiUsage":"1"
}
As with all of the API calls, the times returned here are in UTC. Also, the region parameter can be specified here as well to learn about sales in countries other than the US. The sales are always returned in order from newest to oldest. The sale IDs that are returned here can be used to look up all games that were discounted as part of that sale (see below).
How Can I Get A List of Games That Were Part of a Particular Sale?
After getting a sale's ID (either from the API call above with sales=1, or by looking at the URL of its sale table page, you can get a list of games and DLC packages that were part of that sale by specifying sale=<sale_id>. For example, the API URL https://platprices.com/api.php?key=<API key>&sale=441 will return information like the following:
{
"SaleName":"Double Discounts sale",
"SaleTime":"2021-02-17 08:11:44",
"SaleEnd":"2021-03-04 07:59:00",
"ImgURL":"https://image.api.playstation.com/pr/bam-art/115/768/0aa46a23-85a4-4c9d-ad09-36d225975703.png",
"Region":"US",
"game_discounts":[
{
"PPID":"4081",
"Name":"2064: Read Only Memories",
"Difficulty":"3",
"HoursLow":10,
"HoursHigh":15,
"IsPS4":"1",
"IsPS5":"0",
"LastDiscounted":"2021-02-17 08:11:05",
"DiscountedUntil":"2021-03-04 07:59:00",
"BasePrice":"1999",
"SalePrice":"399",
"PlusPrice":"299",
"formattedBasePrice":"$19.99",
"formattedSalePrice":"$3.99",
"formattedPlusPrice":"$2.99",
"PlatPricesURL":"https://platprices.com/en-us/game/4081-2064-read-only-memories"
},
{
"PPID":"6326",
"Name":"A Fisherman's Tale",
"Difficulty":"2",
"HoursLow":2,
"HoursHigh":3,
"IsPS4":"1",
"IsPS5":"0",
"LastDiscounted":"2021-02-17 08:10:40",
"DiscountedUntil":"2021-03-04 07:59:00",
"BasePrice":"1499",
"SalePrice":"749",
"PlusPrice":"749",
"formattedBasePrice":"$14.99",
"formattedSalePrice":"$7.49",
"formattedPlusPrice":"$7.49",
"PlatPricesURL":"https://platprices.com/en-us/game/6326-a-fishermans-tale"
},
{
"PPID":"33870",
"Name":"A Fisherman's Tale - Deluxe Edition",
"Difficulty":"2",
"HoursLow":2,
"HoursHigh":3,
"IsPS4":"1",
"IsPS5":"0",
"LastDiscounted":"2021-02-17 08:10:09",
"DiscountedUntil":"2021-03-04 07:59:00",
"BasePrice":"1999",
"SalePrice":"999",
"PlusPrice":"999",
"formattedBasePrice":"$19.99",
"formattedSalePrice":"$9.99",
"formattedPlusPrice":"$9.99",
"PlatPricesURL":"https://platprices.com/en-us/game/33870-a-fishermans-tale-deluxe-edition"
},
{
"PPID":"4690",
"Name":"Aces of the Luftwaffe - Squadron",
"Difficulty":"-1",
"HoursLow":"-1",
"HoursHigh":"-1",
"IsPS4":"1",
"IsPS5":"0",
"LastDiscounted":"2021-02-17 08:10:49",
"DiscountedUntil":"2021-03-04 07:59:00",
"BasePrice":"1499",
"SalePrice":"749",
"PlusPrice":"449",
"formattedBasePrice":"$14.99",
"formattedSalePrice":"$7.49",
"formattedPlusPrice":"$4.49",
"PlatPricesURL":"https://platprices.com/en-us/game/4690-aces-of-the-luftwaffe-squadron"
},
...
],
"dlc_discounts":[
{
"PPID":"27379",
"Name":"3on3 FreeStyle - 270 Fs Points",
"BasePrice":"2499",
"SalePrice":"2374",
"PlusPrice":"2249",
"ParentGame":"3on3 Freestyle",
"formattedBasePrice":"$24.99",
"formattedSalePrice":"$23.74",
"formattedPlusPrice":"$22.49",
"PlatPricesURL":"https://platprices.com/en-us/game/27379-3on3-freestyle-270-fs-points"
},
{
"PPID":"27374",
"Name":"3on3 FreeStyle - 550 Fs Points",
"BasePrice":"4999",
"SalePrice":"4499",
"PlusPrice":"3999",
"ParentGame":"3on3 Freestyle",
"formattedBasePrice":"$49.99",
"formattedSalePrice":"$44.99",
"formattedPlusPrice":"$39.99",
"PlatPricesURL":"https://platprices.com/en-us/game/27374-3on3-freestyle-550-fs-points"
},
...
"error":0,
"errorDesc":"",
"apiLimit":"100",
"apiUsage":"10"
}
Note that the region parameter is not needed here (even for regions other than the US), since sales in different regions have different sale IDs. Also note that a value of "-1" for the Difficulty, HoursLow, or HoursHigh values means "we don't know".
Developer FAQ
How do I get an API key?
Where can I see my usage and manage my key?
GET /api/v2/account returns your plan, quota, expiry and regions; GET /api/v2/account/usage the daily request history with a per-endpoint breakdown; and PUT /api/v2/account/regions changes which store regions your key serves (up to your plan’s limit, once per day). None of these consume a request, and every API response carries X-RateLimit-Remaining / X-RateLimit-Reset headers. Or in a UI: your developer dashboard shows the same data with a 30-day chart and a region picker.What does the free plan include?
How are requests counted?
apiUsage on every response (with your cap in apiLimit). The same monthly counter is shared across the v1 and v2 APIs.Can I get a key for a personal Telegram / Discord bot or a local price database?
Can I use a competing service’s data, or build a price-alert site?
Do I need to credit PlatPrices?
Does the API include trophy guides and review scores?
OpenCriticID you can use with the free OpenCritic API for review data.Still have a question? Email [email protected] and we’ll be glad to help.

