random-address-generate
世界のランダム住所・プロフィール生成
40か国の架空住所と個人・勤務先・決済テスト用データを一度に最大100件生成。国や地域の絞り込み、年齢・性別の指定、対応国一覧の取得に対応します。
利用料金
1 コイン/回
クイックスタート
統一レスポンス形式のまま、バックエンドから直接呼び出せます。
https://openapi.toolkk.com/v1/random-address-generatecURL 例
curl --request POST \
--url 'https://openapi.toolkk.com/v1/random-address-generate' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{\n "action": "generate",\n "count": 5,\n "country": "ALL",\n "state": "",\n "city": "",\n "includeProfile": true,\n "gender": "all",\n "minAge": 18,\n "maxAge": 80\n}'Python 例
import os
import requests
url = "https://openapi.toolkk.com/v1/random-address-generate"
payload = {
"action": "generate",
"count": 5,
"country": "ALL",
"state": "",
"city": "",
"includeProfile": true,
"gender": "all",
"minAge": 18,
"maxAge": 80
}
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 例
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
endpoint := "https://openapi.toolkk.com/v1/random-address-generate"
payload := []byte("{\n \"action\": \"generate\",\n \"count\": 5,\n \"country\": \"ALL\",\n \"state\": \"\",\n \"city\": \"\",\n \"includeProfile\": true,\n \"gender\": \"all\",\n \"minAge\": 18,\n \"maxAge\": 80\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 例
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 \"action\": \"generate\",\n \"count\": 5,\n \"country\": \"ALL\",\n \"state\": \"\",\n \"city\": \"\",\n \"includeProfile\": true,\n \"gender\": \"all\",\n \"minAge\": 18,\n \"maxAge\": 80\n}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.toolkk.com/v1/random-address-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 例
<?php
$endpoint = 'https://openapi.toolkk.com/v1/random-address-generate';
$payload = "{\n \"action\": \"generate\",\n \"count\": 5,\n \"country\": \"ALL\",\n \"state\": \"\",\n \"city\": \"\",\n \"includeProfile\": true,\n \"gender\": \"all\",\n \"minAge\": 18,\n \"maxAge\": 80\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;レスポンス例
{
"code": "SUCCESS",
"message": "success",
"data": [
{
"country": "RU",
"countryName": "Russia",
"locale": "ru-RU",
"synthetic": true,
"address": {
"state": "Тюменская область",
"city": "Тюмень",
"district": "",
"street": "ул. Садовая, д. 88",
"streetName": "ул. Садовая",
"buildingNumber": "88",
"postalCode": "625000",
"fullAddress": "ул. Садовая, д. 88, Тюмень, Тюменская область, 625000, Russia",
"timeZone": "Asia/Yekaterinburg"
},
"identity": {
"firstName": "Анна",
"lastName": "Соколова",
"fullName": "Анна Соколова",
"gender": "female",
"birthDate": "2000-12-13",
"age": 25,
"phone": "+7 000 716361",
"dialCode": "+7",
"email": "user-demo@example.com"
},
"employment": {
"company": "ToolKK Demo DEMO",
"department": "Engineering",
"jobTitle": "Engineer",
"website": "https://company-demo.example.com"
},
"financial": {
"cardNumber": "4242424242424242",
"cardType": "visa",
"cvv": "123",
"expiry": "2027-12",
"bank": "ToolKK Test Bank",
"currency": "RUB",
"testOnly": true
}
}
]
}例はレスポンスの構造を示しています。実際の結果はAPIの応答によって異なります。
- 認証方式
- リクエストヘッダーに X-API-Key を設定
- レート制限
- 毎分 600 回
- タイムアウト
- 未指定
サーバー側から呼び出す際は、X-API-Key ヘッダーに API Key を設定します。
HTTP ステータスと業務フィールドの両方で成功判定するのがおすすめです。
高頻度利用ではレート制限と再試行戦略を併用してください。
リクエスト項目
サーバーからリクエストを送信し、X-API-Keyヘッダーにキーを設定してください。
リクエスト項目
以下の項目はサンプル JSON から自動抽出した参考情報です。
| パス | 型 | 必須 | 説明 | サンプル値 |
|---|---|---|---|---|
| action | string | 未指定 | 未指定 | generate |
| count | number | 未指定 | 未指定 | 5 |
| country | string | 未指定 | 未指定 | ALL |
| state | string | 未指定 | 未指定 | 未指定 |
| city | string | 未指定 | 未指定 | 未指定 |
| includeProfile | boolean | 未指定 | 未指定 | true |
| gender | string | 未指定 | 未指定 | all |
| minAge | number | 未指定 | 未指定 | 18 |
| maxAge | number | 未指定 | 未指定 | 80 |
リクエスト例
{
"action": "generate",
"count": 5,
"country": "ALL",
"state": "",
"city": "",
"includeProfile": true,
"gender": "all",
"minAge": 18,
"maxAge": 80
}- 認証方式
- リクエストヘッダーに X-API-Key を設定
- レート制限
- 毎分 600 回
- タイムアウト
- 未指定
レスポンス項目
例はレスポンスの構造を示しています。実際の結果はAPIの応答によって異なります。
レスポンス項目
以下の項目はサンプル JSON から自動抽出した参考情報です。
| パス | 型 | 必須 | 説明 | サンプル値 |
|---|---|---|---|---|
| code | string | 未指定 | 未指定 | SUCCESS |
| message | string | 未指定 | 未指定 | success |
| data | array | 未指定 | 未指定 | [{"country":"RU","countryName":"Russia","locale":"ru-RU","synthetic":true,"address":{"state":"Тюменская область","city":"Тюмень","district":"","street":"ул. Садовая, д. 88","streetName":"ул. Садовая","buildingNumber":"88","postalCode":"625000","fullAddress":"ул. Садовая, д. 88, Тюмень, Тюменская область, 625000, Russia","timeZone":"Asia/Yekaterinburg"},"identity":{"firstName":"Анна","lastName":"Соколова","fullName":"Анна Соколова","gender":"female","birthDate":"2000-12-13","age":25,"phone":"+7 000 716361","dialCode":"+7","email":"user-demo@example.com"},"employment":{"company":"ToolKK Demo DEMO","department":"Engineering","jobTitle":"Engineer","website":"https://company-demo.example.com"},"financial":{"cardNumber":"4242424242424242","cardType":"visa","cvv":"123","expiry":"2027-12","bank":"ToolKK Test Bank","currency":"RUB","testOnly":true}}] |
| data[] | object | 未指定 | 未指定 | {...} |
| data[].country | string | 未指定 | 未指定 | RU |
| data[].countryName | string | 未指定 | 未指定 | Russia |
| data[].locale | string | 未指定 | 未指定 | ru-RU |
| data[].synthetic | boolean | 未指定 | 未指定 | true |
| data[].address | object | 未指定 | 未指定 | {...} |
| data[].identity | object | 未指定 | 未指定 | {...} |
APIの概要
機能、利用シーン、制約、よくある質問。
多国の住所と架空プロフィールを生成
40か国の住所サンプルと、氏名、性別、生年月日、連絡先、勤務先、決済テスト用データを生成します。州や都道府県、都市、地域の郵便番号、タイムゾーンは同じ地域レコードから選び、通りと番地を組み合わせます。住所検索や本人確認ではなく、開発用の構造化データを返します。
どのようなテストに使えるか
- 国際対応フォーム:現地文字、長い値、任意項目の空欄を確認します。
- 製品デモ:架空の人物や会社で、会員ページや顧客一覧を準備します。
- データベースのテスト:呼び出し側で結果を保存し、重複処理や実行を管理します。APIは登録や一意性の保証をしません。
対応地域を選び結果を読み取る
対応国一覧と収録地域を取得し、必要に応じて country、state、city を指定します。州と都市の条件は両方適用され、一致しなければエラーになります。別の都市への自動切り替えはありません。既定では対応国をランダムに選び、全プロフィールを添付します。住所だけなら includeProfile を無効にします。成功時は data から address と、必要な identity、employment、financial を読み取ります。年齢と性別を指定でき、生年月日と年齢はUTCの日付を基準に整合します。
収録範囲とデータの扱い
収録地域は118件で、世界のすべての国や都市を網羅していません。郵便番号は地域のサンプルであり、生成された通りとの一致や配達可能性を保証しません。未収録の行政区とアラブ首長国連邦の郵便番号は空文字です。氏名は小規模な現地語の候補から選び、部署と職名は英語で返します。電話はプレースホルダー、メールとウェブサイトは例示用ドメイン、カード番号は公開テスト値です。実際の配送、本人確認、本番決済には使えません。