For the complete documentation index, see llms.txt. This page is also available as Markdown.

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/changelog

Get 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

Name
Description

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

Name
Description

opdbId (string)

Optional. OPDB id to get PinTips for

arenaId (number)

Optional. Arena to get PinTips for

Last updated