>
Use the form above. Parameters, code examples and FAQ are grouped in the documentation section below.
GET /v1/random/integer?min=X&max=Y[×=N]
/v1/random/integer?min=1&max=10
times.
/v1/random/integer?min=1&max=10×=50
{
"quest": "Random Integer between 1-10",
"data": [
10
]
}
{
"quest": "50 Random Integers between 1-10",
"data": [
7,
8,
...
4
]
}
GET /v1/random/list?len=X
/v1/random/list?len=1000
{
"quest": "Randomized order list with 1000 elements",
"data": [
612,
422,
...
820
]
}
GET /v1/random/name
/v1/random/name
{
"quest": "Random Name",
"name": "POETKER"
}
Generate random integers, shuffled lists and names for testing, seeding and load generation.
| Endpoint | Returns | Example |
|---|---|---|
/v1/random/integer | JSON | min=1&max=10 |
/v1/random/list | JSON | len=10 |
/v1/random/name | JSON | |
| Name | Type | Default | Description |
|---|---|---|---|
min | integer | required | Lowest value for /v1/random/integer. |
max | integer | required | Highest value for /v1/random/integer. |
times | integer | 1 | How many integers to generate, 1-10000. |
len | integer | required | Length of the shuffled list for /v1/random/list, 2-10000. |
curl 'https://freetools.one/v1/random/integer?min=1&max=100×=5'const r = await (await fetch('https://freetools.one/v1/random/integer?min=1&max=6')).json();
console.log(r.data[0]); // dice rollimport requests
r = requests.get('https://freetools.one/v1/random/integer',
params={'min': 1, 'max': 6}).json()
print(r['data'][0]){
"quest": "Random Integer between 1-100",
"data": [42, 7, 93, 18, 60]
}
Call /v1/random/integer?min=1&max=6 and read data[0]. That is exactly a standard six-sided die.
Yes. /v1/random/* allows 300 requests per minute, and /v1/random/integer?times=10000 returns ten thousand values in a single call, which is far cheaper than looping.
Values come from the operating system CSPRNG (/dev/urandom) on the server, not from a seeded PRNG, so results are not predictable.
Yes. /v1/random/name returns a random surname from a built-in list.