True Random Number Service

Note: There is a newer version of this API available.

JSON-RPC API – Release 1 – Source Code

Before you run your client, please review our Usage Guidelines. You need an API key to use these libraries.

Official Libraries

The official libraries are supported by the RANDOM.ORG team. We do our best to make sure they are feature-complete and well tested.

[+]

Java/Android

GitHub: https://github.com/RandomOrg/JSON-RPC-Java
Dependencies: Requires the gson lib for normal operation, and the junit lib to run tests.
Added: 2013-03-05
Updated: 2014-06-09
License: MIT License

This is a Java implementation of the RANDOM.ORG JSON-RPC API (R1). It provides either serialized or unserialized access to both the signed and unsigned methods of the API through the RandomOrgClient class. It also provides a convenience class through the RandomOrgClient class, the RandomOrgCache, for precaching requests. In the context of this module, a serialized client is one for which the sequence of requests matches the sequence of responses.

Python

GitHub: https://github.com/RandomOrg/JSON-RPC-Python
Python Package Index: https://pypi.python.org/pypi?:action=display&name=rdoclient
Dependencies: requests
Added: 2014-05-21
License: MIT License

This is a Python implementation of the RANDOM.ORG JSON-RPC API (R1). It provides either serialized or unserialized access to both the signed and unsigned methods of the API through the RandomOrgClient class. It also provides a convenience class through the RandomOrgClient class, the RandomOrgCache, for precaching requests. In the context of this module, a serialized client is one for which the sequence of requests matches the sequence of responses.

Contributed Libraries

These libraries were developed by generous folks from our community who have kindly volunteered to share them—thanks! The authors may or may not support them.

[+]

Java

Homepage: https://github.com/pr0methean/betterrandom
Download (JDK 8+ & Android API 24+): https://mvnrepository.com/artifact/io.github.pr0methean.betterrandom/BetterRandom
Download (JDK 7 & older Android): https://mvnrepository.com/artifact/io.github.pr0methean.betterrandom/BetterRandom-Java7 Dependencies: slf4j; json-simple; Guava if building from source
Added: 2018-07-19
Authors: Chris Hennick and Daniel Dyer
License: Apache 2.0

BetterRandom's RandomDotOrgSeedGenerator class uses the generateBlobs method to fill a byte array with random values. It falls back to the old API when not configured with an API key. DefaultSeedGenerator does the same thing, but only when /dev/random isn't available, and it falls back to a SecureRandom when you're offline.

Qualtrics

Download: https://osf.io/dg265/
Dependencies: none
Added: 2018-05-05
Author: Sebastian Lundmark and Jamie Leigh Rodriguez
License: TBA

This document explains how JavaScript can be employed to assign random numbers to survey participants through RANDOM.ORG in the survey software Qualtrics.

Go

Download: https://github.com/AkshatM/caprice
Dependencies: none
Added: 2018-01-01
Author: Akshat Mahajan
License: Apache License 2.0

Caprice is a Go client for RANDOM.org that supports all basic and signed methods, in both serialised (raw JSON format) and unserialised (typed Golang structs) formats.

PHP

Download: https://packagist.org/packages/drupol/yaroc
Dependencies: none
Added: 2016-11-23
Author: Pol Dellaiera
License: GPL 2.0+

Yet Another Random.Org Client (YAROC) is a modern and complete implementation of client-side support for all the RANDOM.ORG API methods in the Basic and Signed APIs.

C#

GitHub: https://github.com/alexanderkozlenko/random-org
Dependencies: none
Added: 2017-07-13
Author: Alexander Kozlenko
License: MIT License

A client for the RANDOM.ORG service.

C#

Download: https://kuiper.zone/clerom-rng/
Dependencies: none
Added: 2016-11-1
Author: Andy Thomas
License: MIT License

CLEROM.RNG is a lightweight random number generator library for C#. It comprises a selection of random number generator algorithms, all of which derive from a single base class. The library offers RANDOM.ORG support through a class called Clerom.RandomOrg, which effectively is an extension to the library. Many pseudo-random number generators are included too.

C#

GitHub: https://github.com/demot/RandomOrgJson-RPC
Dependencies: none
Added: 2014-09-22
Author: Paul Lindemann
License: MIT License

A fully complete library that implements the RANDOM.ORG API's Basic Methods and Signed Methods.

C#

GitHub: https://github.com/arnoldthebat/RandomJSONRPC
Dependencies: not sure
Added: 2013-04-28
Author: arnoldthebat
License: Unknown

A port of the Java/Android Library to C#. It implements the full feature set of RANDOM.ORG API's Basic Methods.

Clojure

GitHub: https://github.com/mishadoff/randomorg
Dependencies: not sure
Added: 2014-11-07
Author: mishadoff
License: Eclipse Public License

A library that lets you invoke the Basic Methods as well as Signed Methods.

JavaScript

GitHub: https://github.com/tunnckoCore/randomorg-js
Dependencies: none for browser deployment, requestify for Node.js deployment
Added: 2014-06-13
Author: George Yanev
License: MIT License

A module that allows you to invoke the RANDOM.ORG API's Basic Methods from JavaScript.

LabVIEW

GitHub: https://github.com/benmanthey/Random
Dependencies: none
Added: 2015-06-15
Author: Ben Manthey
License: MIT License

An interface that allows you to invoke the RANDOM.ORG API's Basic and Signed Methods from LabVIEW 2014.

Node.js

GitHub: https://github.com/willfrew/node-random-org
NPM: https://www.npmjs.com/package/random-org
Dependencies: none
Added: 2015-11-27
Author: Will Frew
License: MIT License

A lightweight module for Node.js that allows you to invoke the RANDOM.ORG API's Basic and Signed Methods.

Perl

SourceForge: http://randomorgperlapi.sourceforge.net/
Dependencies: none
Added: 2014-06-16
Author: Swapnajit Mitra
License: LGPL

A Perl module that allows you to invoke the RANDOM.ORG API's Basic Methods.

PHP

SourceForge: https://github.com/defiant/randomorg/tree/master
Dependencies: none
Added: 2015-06-06
Author: Sinan Taga
License: MIT License

A PHP library that allows you to invoke the RANDOM.ORG API's Basic and Signed Methods.

Python

GitHub: https://github.com/mitchchn/randomapi
Dependencies: none
Added: 2014-04-23
Author: mitchchn
License: MIT License

This Python module supports all the basic methods as well as signing and verification, and it has no external dependencies.

Example Projects

These projects use our API for various different purposes. They were developed by generous folks from our community who have kindly volunteered to share them—thanks! The authors may or may not support them.

[+]

Signed Response Verification (Java)

GitHub: https://gist.github.com/patrickfav/2e5f557004616364d2e79023490e2d29
Dependencies: none
Added: 2017-09-22
Author: Patrick Favre-Bulle
License: Apache License 2.0

Code that shows how to perform signature verification (offline) in Java.

Magic Mirror Lottery Module

GitHub: https://github.com/mykle1/MMM-Lottery
Dependencies: none
Added: 2017-06-16
Author: mykle1
License: MIT License

A MagicMirror module that gives you truly random lottery numbers, coinciding with a multitude of International lotteries.

© 1998-2024 RANDOM.ORG
Valid XHTML 1.0 Transitional | Valid CSS
Web Design by TSDA