random-useragent-generate
Random User-Agent Generator
Batch generate valid User-Agent strings for mainstream browsers. Customize by browser (Chrome/Firefox/Safari/Edge/Opera), operating system (Windows/macOS/Linux/Android/iOS), and device type (desktop/mobile/tablet). Generate up to 100 strings at a time.
Usage Cost
1 coins/call
Quick Start
Use a unified response envelope and call directly from your backend.
https://openapi.toolkk.com/v1/random-useragent-generatecURL Example
curl --request POST \
--url 'https://openapi.toolkk.com/v1/random-useragent-generate' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "count": 10,\n "browsers": [\n "chrome",\n "firefox",\n "safari"\n ],\n "operatingSystems": [\n "windows",\n "macos",\n "ios"\n ],\n "devices": [\n "desktop",\n "mobile"\n ]\n}'Python Example
import os
import requests
url = "https://openapi.toolkk.com/v1/random-useragent-generate"
payload = {
"count": 10,
"browsers": [
"chrome",
"firefox",
"safari"
],
"operatingSystems": [
"windows",
"macos",
"ios"
],
"devices": [
"desktop",
"mobile"
]
}
headers = {
"Content-Type": "application/json",
"X-API-Key": os.getenv("TOOLKK_API_KEY", "YOUR_API_KEY"),
}
response = requests.request("POST", url, headers=headers, json=payload, timeout=30)
response.raise_for_status()
print(response.json())Go Example
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
endpoint := "https://openapi.toolkk.com/v1/random-useragent-generate"
payload := []byte("{\n \"count\": 10,\n \"browsers\": [\n \"chrome\",\n \"firefox\",\n \"safari\"\n ],\n \"operatingSystems\": [\n \"windows\",\n \"macos\",\n \"ios\"\n ],\n \"devices\": [\n \"desktop\",\n \"mobile\"\n ]\n}")
req, err := http.NewRequest("POST", endpoint, bytes.NewBuffer(payload))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(body))
}Java Example
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class ToolkkExample {
public static void main(String[] args) throws Exception {
String payload = "{\n \"count\": 10,\n \"browsers\": [\n \"chrome\",\n \"firefox\",\n \"safari\"\n ],\n \"operatingSystems\": [\n \"windows\",\n \"macos\",\n \"ios\"\n ],\n \"devices\": [\n \"desktop\",\n \"mobile\"\n ]\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/random-useragent-generate"))
.method("POST", HttpRequest.BodyPublishers.ofString(payload))
.header("Content-Type", "application/json")
.header("X-API-Key", "YOUR_API_KEY")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}PHP Example
<?php
$endpoint = 'https://openapi.toolkk.com/v1/random-useragent-generate';
$payload = "{\n \"count\": 10,\n \"browsers\": [\n \"chrome\",\n \"firefox\",\n \"safari\"\n ],\n \"operatingSystems\": [\n \"windows\",\n \"macos\",\n \"ios\"\n ],\n \"devices\": [\n \"desktop\",\n \"mobile\"\n ]\n}";
$ch = curl_init($endpoint);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'X-API-Key: YOUR_API_KEY',
],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($ch);
if ($response === false) {
throw new RuntimeException(curl_error($ch));
}
curl_close($ch);
echo $response;Response Example
{
"code": "SUCCESS",
"message": "success",
"data": [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Safari/605.1.15",
"Mozilla/5.0 (iPhone; CPU iPhone OS 18_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Mobile/15E148 Safari/604.1"
]
}Examples illustrate the response structure. Actual results depend on the API response.
- Authentication
- Send X-API-Key in request headers
- Rate limit
- 600 req/min
- Timeout
- Unspecified
Send your API Key in the X-API-Key header from your backend.
Check both HTTP status and business fields before treating a call as successful.
Use retries and backoff together with rate limits in high-frequency scenarios.
Request Fields
Send requests from your server with the key in the X-API-Key header.
Request Fields
The fields below are derived from example JSON for integration reference only.
| Path | Type | Required | Description | Sample |
|---|---|---|---|---|
| count | number | Unspecified | Unspecified | 10 |
| browsers | array | Unspecified | Unspecified | ["chrome","firefox","safari"] |
| browsers[] | string | Unspecified | Unspecified | chrome |
| operatingSystems | array | Unspecified | Unspecified | ["windows","macos","ios"] |
| operatingSystems[] | string | Unspecified | Unspecified | windows |
| devices | array | Unspecified | Unspecified | ["desktop","mobile"] |
| devices[] | string | Unspecified | Unspecified | desktop |
Request Example
{
"count": 10,
"browsers": [
"chrome",
"firefox",
"safari"
],
"operatingSystems": [
"windows",
"macos",
"ios"
],
"devices": [
"desktop",
"mobile"
]
}- Authentication
- Send X-API-Key in request headers
- Rate limit
- 600 req/min
- Timeout
- Unspecified
Response Fields
Examples illustrate the response structure. Actual results depend on the API response.
Response Fields
The fields below are derived from example JSON for integration reference only.
| Path | Type | Required | Description | Sample |
|---|---|---|---|---|
| code | string | Unspecified | Unspecified | SUCCESS |
| message | string | Unspecified | Unspecified | success |
| data | array | Unspecified | Unspecified | ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36","Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Safari/605.1.15","Mozilla/5.0 (iPhone; CPU iPhone OS 18_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Mobile/15E148 Safari/604.1"] |
| data[] | string | Unspecified | Unspecified | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 |
Response Example
{
"code": "SUCCESS",
"message": "success",
"data": [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Safari/605.1.15",
"Mozilla/5.0 (iPhone; CPU iPhone OS 18_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Mobile/15E148 Safari/604.1"
]
}$.code == 200API overview
Capabilities, use cases, limitations, and frequently asked questions.
Overview
Batch generate realistic and valid User-Agent strings. Ideal for web crawler debugging, API testing, and data scraping.
Request Parameters
count: Quantity, 1-100, default: 10browsers: Browser list, options:chrome/firefox/safari/edge/opera, default: alloperatingSystems: OS list, options:windows/macos/linux/android/ios, default: alldevices: Device type list, options:desktop//, default: all