DECISIONS

Should I API

GET/should-i

Get a random answer to an optional question.

No signup or API key required.

Parameters

qstringoptional · query
Optional question, trimmed to 1 to 300 characters. Echoed back but never analyzed.
formatenumoptional · query
Response format. Defaults to json.
jsontext

No request body. Unknown or repeated query parameters return HTTP 400.

Returns 200 OK

A JSON object with the following fields.

questionstring
The trimmed question. Present only when q is supplied.
answerstring
One of: yes, no, probably, probably not, sleep on it, go for it. Selected independently of the question.

Plain text

With format=text: Only the answer, without the echoed question.

Errors

Validation and service errors always return JSON, including when format=text.

errorstring
A machine-readable error code, such as invalid_parameter or rate_limited.
messagestring
A description of the problem.

400 Invalid parameters.

414 Query string exceeds 2048 characters.

429 Rate limit reached. Wait the seconds in Retry-After before retrying.

Usage notes

Optional q: 1..300 characters after trimming. Echoed with a random answer. The question is never analyzed.

Build a deliberately unserious advice button. The supplied question is echoed back but never analyzed, and the answer is selected independently.

Responses are not cached. Browser requests are supported through open CORS.

120 requests per minute per IP, with up to 30 per 10 seconds, shared across APIs. Limits are approximate per Cloudflare location. Full usage limits ↗