Accessing machine data via API

Is it possible to get data on individual machines, the same available via web pages such as https://bbchallenge.org/1RB0LD_1LC1RD_1LA1LC_1RZ1RE_1RA0RB via API? I see on github that this exists on the backend of bbchallenge.org and is loaded by the frontend, but I’m not sure if it is possible to access directly?

I am hoping to get bbchallenge numbers/instructions/bbchallenge status of certain special machines such as Skelet’s exceptions in order to confirm my own work on these - I would not, of course, attempt to do millions of requests.

Hello, this is allowed and somewhat documented here.
To succeed, you’ll want a bit more info: a more recent /machine/equivalent API lets you try to map the machine description back to an ID. It expects a description which represents halt transitions as --- rather than 1RZ.
I speak Python, so I demonstrate it like this:

>>> requests.get('https://api.bbchallenge.org/machine/equivalent/1RB0LD_1LC1RD_1LA1LC_---1RE_1RA0RB').json()
{'equivalent_machine_code': '1RB0LD_1LC1RD_1LA1LC_---1RE_1RA0RB', 'equivalent_machine_id': None, 'machine_code': '1RB0LD_1LC1RD_1LA1LC_---1RE_1RA0RB'}

In this case, we find no ID because the TM is known to halt, so left out of the database.
On the other hand, you might get an ID, and the machine API documented in the link above can help you get info like bbchallenge.org’s decision status.

1 Like

Thank you so much for the quick and helpful reply. I also speak Python and I was able to make the
request exactly as described.

1 Like