Source Code (Release 2)

Introduction

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: 2021-01-29
API Releases Supported: R1, R2, R3
License: MIT License

This is a Java implementation of the RANDOM.ORG JSON-RPC API (up to and including R3). 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.org/project/rdoclient/
Dependencies: requests
Added: 2014-05-21
Updated: 2020-11-27
API Releases Supported: R1, R2, R3
License: MIT License

This library lets clients access the RANDOM.ORG Core API through JSON-RPC. 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. The authors may or may not support them.

Language Added Author API Releases
Supported
APIs Supported Dependencies License Download
C# 2020-03-01 Artem Verrok 2 Basic None MIT GitHub NuGet
C# 2017-07-13 Alexander Kozlenko 1, 2 Basic, Signed None MIT GitHub
C# 2016-11-11 Andy Thomas 1 Basic, Signed None MIT URL
C# 2014-09-22 Paul Lindemann 1 Basic, Signed None MIT GitHub
C# 2013-04-28 arnoldthebat 1 Basic ? ? GitHub
Clojure 2014-11-07 mishadoff 1 Basic, Signed ? EPL GitHub
Go 2018-01-01 Akshat Mahajan 1 Basic, Signed None Apache 2.0 GitHub
Java 2018-07-19 Chris Hennick and Daniel Dyer 1 Basic slf4j; json-simple;
Guava if building from source
Apache 2.0 GitHub
JavaScript 2014-06-13 George Yanev 1 Basic None for browser;
Requestify for Node.js
MIT GitHub
JavaScript & Node.js 2019-11-24 Richie Bendall 2 Basic, Signed See NPM MIT GitHub, NPM
JavaScript (Qualtrics) 2018-05-05 Sebastian Lundmark, Jamie Leigh Rodriguez 1 Basic None ? OSFHOME
Julia 2020-03-01 Arsh Sharma 2 Basic None MIT GitHub
LabVIEW 2015-06-15 Ben Manthey 1 Basic, Signed None MIT GitHub
Matlab 2020-03-01 Arsh Sharma 2 Basic None MIT GitHub
Node.js 2015-11-27 Will Frew 1 Basic, Signed None MIT GitHub, NPM
Perl 2014-06-16 Swapnajit Mitra 1 Basic None LGPL SourceForge
PHP 2016-11-27 Pol Dellaiera 1, 2 Basic, Signed None GPL 2.0+ Packagist
PHP 2015-06-06 Sinan Taga 1 Basic, Signed None MIT GitHub
Python 2014-04-23 mitchchn 1 Basic, Signed None MIT GitHub

If you have written a client library and would like it to appear here, please drop us a line with the relevant details.

Example Clients

These clients show how to use the API for different things. They were developed by generous folks from our community who have kindly volunteered to share them. The authors may or may not support them.

Client Added Author API Releases
Supported
APIs Supported Dependencies License Download
MagicMirror Lottery Module 2017-06-16 mykle1 1 Basic ? MIT URL
Signed Response Verification (Java) 2017-09-22 Patrick Favre-Bulle 1 and 2 Signed ? Apache License 2.0 URL