canonical: https://jentic.com/apis/random.org/random

# RANDOM.ORG API

Jentic publishes the only available OpenAPI specification for RANDOM.ORG API, keeping it validated and agent-ready. The RANDOM.ORG API generates true random numbers from atmospheric noise through a JSON-RPC 4 interface. A single invoke route runs methods such as generateIntegers, generateIntegerSequences, generateDecimalFractions, generateGaussians, generateStrings, generateUUIDs, and generateBlobs, with parameters like n, min, max, and replacement. A verify route checks the signature on a signed random response, and a usage route reports the remaining allowance for an API key.

## For AI agents

Generate true random integers, sequences, decimals, Gaussians, strings, UUIDs, and blobs from RANDOM.ORG's atmospheric-noise source, verify signed results, and check API key usage.

## Scope

Does not handle cryptographic key management, lottery ticket sales, or pseudo-random seeding. Use for drawing true random values from RANDOM.ORG and verifying signed results only.

## Capabilities

- Draw random integers in a min to max range with or without replacement through generateIntegers
- Produce shuffled integer sequences with generateIntegerSequences for fair ordering and draws
- Generate decimal fractions, Gaussian-distributed values, random strings from a chosen character set, UUIDs, and binary blobs
- Verify the signature on a signed RANDOM.ORG response with verifySignature
- Check the remaining usage allowance for an API key with getUsage

## Use cases

### Fair draws by an agent through Jentic

An agent running a giveaway or raffle needs a draw nobody can accuse of being rigged. Through Jentic the agent searches for 'generate true random numbers', receives the RANDOM.ORG invoke operation with its input schema, and sends a generateIntegers request with n, min, max, and replacement set to false, with the API key supplied at execution time. The draw comes from atmospheric noise rather than a pseudo-random generator in the agent's runtime.

Example prompt: Call POST /invoke with method 'generateIntegers' and params n 3, min 1, max 500, replacement false, and return the three winning entry numbers

### Auditable randomness with signatures

Lotteries, games, and research studies sometimes need to prove a random result was not altered after the fact. RANDOM.ORG's POST /verify route takes a random object and its signature and runs verifySignature, so a third party can confirm that a signed draw came from RANDOM.ORG unchanged.

Example prompt: Send POST /verify with method 'verifySignature' and params random and signature from a stored draw, and report whether the signature is valid

### Test data and identifiers

Developers seeding test fixtures or simulations want values that are not tied to a seeded generator. RANDOM.ORG returns Gaussian values for simulations, random strings drawn from a specified characters set and length, UUIDs, and binary blobs through methods on the same invoke route.

Example prompt: Call POST /invoke with method 'generateStrings' and params n 5, length 10, characters 'abcdefghijklmnopqrstuvwxyz', replacement true

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/invoke` | Invoke a JSON-RPC generate method |
| POST | `/verify` | Verify a signed random response |
| POST | `/usage` | Get API key usage |

## Key resources

- **Invoke** — JSON-RPC route running generateIntegers, generateIntegerSequences, generateDecimalFractions, generateGaussians, generateStrings, generateUUIDs, generateBlobs, and getUsage
- **Verify** — Signature verification for signed random responses
- **Usage** — Usage statistics for an API key

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 62 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 90 / 100
  - Developer Experience & Jentic Compatibility: 57 / 100
  - AI-Readiness & Agent Experience: 47 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 63 / 100
- **View full report:** https://jentic.com/apis/random.org/random/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring RANDOM.ORG by hand means building JSON-RPC 2.0 envelopes with jsonrpc, method, params, and id, placing your API key inside params, and parsing the JSON-RPC result or error. Through Jentic you install once, import RANDOM.ORG from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** RANDOM.ORG carries the method name inside the JSON-RPC request body, so rules bound which of the three routes your agent may call, not which generate method it runs on the invoke route. Limit it to the routes it needs, such as invoke and verify, so the usage route is not included unless you add it.
- **Credential handling:** Your RANDOM.ORG API key is stored once, encrypted, by your own Jentic One instance and supplied at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'generate true random numbers' or 'verify a signed random draw', and Jentic returns the matching RANDOM.ORG operation with its input schema, including the JSON-RPC method and params shape, so the agent calls it correctly.

## Related APIs

- **Fun Generators Lottery** — Random lottery number draws for popular lottery games
- **Fun Generators UUID** — Simple REST UUID generation
- **Math Tools** — Number utilities such as base conversion and spelling numbers as words

## FAQ

### Why is there no official OpenAPI spec for RANDOM.ORG API?

RANDOM.ORG does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call RANDOM.ORG API via structured tooling. It is validated against the live API and kept up to date. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### What authentication does the RANDOM.ORG API use?

The OpenAPI spec declares an API key scheme on the X-Api-Key header, and its description and request examples pass the key as apiKey inside the JSON-RPC params object. Keys are issued from the API keys page on api.random.org. Through Jentic the key is stored by your own instance and supplied at call time, so it never enters the agent's context.

### Can I pick random winners without repeats using the RANDOM.ORG API?

Yes. Send POST /invoke with the generateIntegers method, set n to the number of winners, min and max to your entry range, and replacement to false so no number is drawn twice. For a full random ordering, use generateIntegerSequences instead.

### What are the rate limits for the RANDOM.ORG API?

The OpenAPI spec does not state numeric limits. Allowances are tracked per API key, and POST /usage with the getUsage method reports what remains; check https://api.random.org for current quotas.

### Is there a RANDOM.ORG MCP server?

You don't need an MCP server to give your agent RANDOM.ORG. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the generate, verify, and usage operations on demand.

### Can I limit what my agent is allowed to do with the RANDOM.ORG API?

Yes. For example, write a rule that allows only POST /invoke and POST /verify, so the agent can draw numbers and check signatures but cannot read your key's usage. RANDOM.ORG picks the JSON-RPC method inside the body, so the rule works per route, and the agent's calls are logged.
