OPDB & PinTips API
The Open Pinball Database (OPDB) is a searchable archive of pinball machines with a focus on providing a solid API for software developers who wish to incorporate pinball machine data into their apps.
You probably don't need OPDB endpoints
When working OPDB data it's often most efficient to download the entire OPDB data set as a data export instead of fetching machine details one by one. If you're using PostgreSQL/Supabase you can import OPDB data directly into your database.
Parsing OPDB IDs
A common task when interacting with the OPDB data is to parse an OPDB ID into it's separate parts. The following regular expression can be used to parse OPDB IDs:
/^G([a-zA-Z0-9]+)(?:-M([a-zA-Z0-9]+)(?:-A([a-zA-Z0-9]+))?)?$/The first capturing group will contain the group identifier, the second the machine identifier and the third the alias identifier.
Get OPDB changelog
GET /api/opdb/changelogGet the OPDB changelog which you can use to update OPDB IDs which have been moved or deleted.
Get OPDB entry
GET /api/opdb/entry/{opdbId}Get a single OPDB entry. Do not use if you're fetching data for many entries. Instead download the entire OPDB data set as one export.
Query params
includePeople (boolean)
Optional. Include people data for entry
includeImages (boolean)
Optional. Include image data for entry
Get PinTips
Get PinTips (short playing tips) for a single OPDB entry or Match Play arena.
Query params
opdbId (string)
Optional. OPDB id to get PinTips for
arenaId (number)
Optional. Arena to get PinTips for
Last updated