Advisory: RANDOM.ORG will be intermittently unavailable on Wednesday 2015-03-04 10am-noon UTC due to maintenance work.
Note: Our much improved new API is currently in public beta - learn more on api.random.org
RANDOM.ORG is a true random number service that generates
randomness via atmospheric noise. This page describes how to use
automated clients to interface to the service.
The service can be accessed via HTTP. The HTTP Interface Description explains how to do
this and the HTTP Client Archive
contains clients donated by generous RANDOM.ORG users. The SOAP
and CORBA interfaces are currently disabled.
If you use an automated client, please make sure it observes the
Do not issue multiple simultaneous requests. If you use a
single-threaded client, this will not be any concern for you. If
you use a multithreaded client, use a locking scheme to prevent
your client from issuing multiple simultaneous requests.
If you need many numbers, issue requests that fetch the
numbers in blocks as large as possible. Please do not issue a
request for every single number, unless you only need one.
Use a long timeout value for your requests. Unless you have
used up your quota, the RANDOM.ORG server actually tries to
satisfy all requests, so if you use a short timeout value, your
request will be abandoned halfways and the numbers discarded. This
increases load on the server. Allow at least a couple of minutes
for the server to complete your request.
Configure your client to examine your remaining quota at
regular intervals. If your allowance is negative, your client
should back off and not issue any requests for numbers for a
while. See the Quota Checker
Documentation for details on how to do this, how long to
Configure your client to supply your email address in the
User-Agent field of the request. That way, I can drop you a line
if your client is causing trouble.
As always, feel free to email us if you have questions!