APIの仕組み
このAPIはライブクエリのエンドポイントではなく、ファイル全体を提供します。データセット全体または単一のスライスをダウンロードし、自分のマシン上で分割・フィルタリングします。これによりダウンロードは高速に保たれ、クエリの方法に制限はありません。
1. キーを作成
アカウントでBearer APIキーを発行してください。必要に応じてIPアローリストに限定できます。発行したキーはAuthorizationヘッダーとして送信してください。
2. ファイルをダウンロード
完全なエクスポートを取得するか、TLD、TLDサフィックス、国、テクノロジーのいずれかで絞り込んだスライスを取得してください。中断したダウンロードはRangeリクエストで再開できます。
3. ローカルで絞り込み
zstdで解凍し、jqやデータウェアハウス、あるいは自作のコードでクエリを実行してください。1スライスにつき次元は1つです。残りの次元との組み合わせはご自身で行ってください。
認証
ほとんどのエンドポイントにはBearer APIキーが必要です。公開カタログ、プレビューおよびサンプルのエンドポイントには認証が不要です。
- キーの作成・管理は次のページで行えます: アカウント. 完全なキーは作成時に一度だけ表示されるため、安全に保管してください。
- 認証が必要なすべてのリクエストで、それを
Authorization: Bearer wbtl_…として送信してください。 - 任意でキーをIP許可リストに制限できます。他のアドレスからのリクエストに返されるステータスコードは
401. - キーごとにレート制限が適用されます。キーはいつでもローテーションまたは失効させることができます。
エンドポイント
完全な機械可読仕様は次のURLで確認できます /api/v1/openapi.json (OpenAPI 3.1).
| メソッド | エンドポイント | 認証 | レート制限 | 目的 |
|---|---|---|---|---|
| GET | /api/v1/datasets | 公開 | 60/min | 公開データセットを価格と行数付きで一覧表示します |
| GET | /api/v1/preview?dataset={slug} | 公開 | 30/min | データセット全体の無料10,000行サンプル |
| GET | /api/v1/sample/{scope}/{key}?dataset={slug} | 公開 | 30/min | 1つのエンティティ(TLD、サフィックス、国、テクノロジー)向けの無料20行サンプル |
| GET | /api/v1/me | Bearer | 200/min | 現在のキーのユーザーとスコープ |
| GET | /api/v1/me/orders | Bearer | 200/min | 注文とそのステータス |
| GET | /api/v1/me/downloads | Bearer | 200/min | ダウンロード履歴 (?limit= 最大500件) |
| GET | /api/download/{slug} | Bearer | 240/min | 指定した形式での完全なデータセットのエクスポート .jsonl.zst |
| GET | /api/download/{slug}/{scope}/{key} | Bearer | 240/min | データセットのスコープごとの1セグメント |
scope は次のいずれかです: tld, tld_suffix, country または technology. ダウンロードエンドポイントの利用には、当該データセットへの有効な有料アクセス権が必要です。
クイックスタート
ダウンロードは1回につき1ファイルです。データセット全体を取得するか、先に単一の次元へ絞り込んでください。
完全なエクスポートをダウンロード
単一のスライスをダウンロード
curl、再開、ローカルフィルタリング
過去のダウンロードを一覧表示するには次を使用します: GET https://webatla.com/api/v1/me/downloads. キーなしで無料プレビューを試すには: GET https://webatla.com/api/v1/preview?dataset=all-data.
データ形式
ファイルはJSON Lines形式(1行につき1つのJSONオブジェクト)で、zstd圧縮されています。スキーマはデータセット間で共通なので、シグナルは同じドメインキー上で揃います。
- 各行が1つのドメインです。展開には次を使用します:
zstd -d。ストリーム処理には次を使用します:zstdcat. - 列名にはスペースが含まれることがあるため、jqではブラケットキー構文で読み取ります。例:
.["Country by IP"]. - フィールドは欠落しているかnullの場合があります。デフォルト値を設定してください。例:
.Registrar // "". - 日付はISO 8601形式の文字列です。例:
"2026-11-18T04:47:13.573"または"2026-04-22".
列リファレンス
| 列 | 型 | 例 | データセット |
|---|---|---|---|
| Domain | string | "arriva.com.hr" | d1–d7 |
| TLD suffix | string | "com.hr" | d1–d7 |
| TLD | string | "hr" | d1–d7 |
| Domain type | string: "ICANN" | "PRIVATE" | "ICANN" | d1–d4, d6, d7 |
| HTTP status | integer | null | 200 | d3, d6, d7 |
| IP address | string | null | "31.13.236.27" | d3, d6, d7 |
| Country by IP | string (ISO-2) | null | "DE" | d2, d3, d6, d7 |
| Social networks | object | null | {"facebook": ["https://…"]} | d3, d6, d7 |
| Technologies last data checked | string (date) | null | "2026-04-22" | d3, d6, d7 |
| Technologies | array | object | null | ["WordPress"] / {"PHP": "4.4.9"} | d3, d6, d7 |
| DNS last data checked | string (date) | "2026-06-03" | d4, d6, d7 |
| DNS Status | string: "TRUE" | "FALSE" | "TRUE" | d4, d6, d7 |
| DNS records | object | null | {"A": ["31.13.236.27"], "MX": [{"host": "…", "priority": 0}]} | d4, d6, d7 |
| PR value | number | 4.808574e-9 / 0 | d2, d3, d6, d7 |
| Harmonic value | number | 10305265 / 0 | d2, d3, d6, d7 |
| RDAP/WHOIS last date checked | string (date) | "2026-01-04" | d5, d7, d6* |
| RDAP/WHOIS method | string: "rdap" | "whois" | "whois" | d5, d7, d6* |
| Domain creation date | string (ISO 8601) | null | "2024-12-12T14:04:04" | d2, d3, d5, d6, d7 |
| Domain expiration date | string (ISO 8601) | null | "2026-12-12T14:04:04" | d2, d3, d5, d6, d7 |
| Domain last changed | string (ISO 8601) | null | "2026-01-04T04:43:01" | d5, d7, d6* |
| Registrar | string | null | "REGRU-RU" | d5, d6, d7 |
| RDAP/WHOIS Record | object | null | {"raw_response": "% TCI Whois…"} | d5, d6* |
| Response Status RDAP/WHOIS | string | "Domain is active" | d5, d6* |
データセット: d1 All active domains · d2 Websites + Ranking · d3 Technologies · d4 DNS · d5 RDAP & WHOIS · d6 All data · d7 Domain Investor.
* データセット All data (d6) では、登録情報のあるドメインにのみRDAP/WHOISフィールドが存在します。
ネストされたフィールドの構造
Technologiesは名前の配列、または名前をバージョンに対応させたオブジェクトのいずれかです。DNS Statusは文字列:"TRUE"または"FALSE", 。真偽値ではありません。DNS recordsはレコードタイプをその値にマッピングします:A, AAAA, NS, SOA, TXT, MX, CNAME, CAA, HTTPS, DNSKEY, DS, SRV, PTR….MXは次の形式です:[{"host", "priority"}].Social networksはプラットフォームをプロフィールリンクにマッピングします:facebook, instagram, x-twitter, linkedin, youtube, whatsapp, telegram, tiktok, github…. これらはサイト自体の公開リンクであり、個人の連絡先ではありません。RDAP/WHOIS Recordは生の登録レコードを保持しており、個人情報フィールドはICANNの規則に従って編集済みです。
レシピ
実際のエクスポートファイルで検証済みです。ファイルをダウンロードした後は、すべてローカルで実行されます。
カウント・抽出・CSVエクスポート
テクノロジーで絞り込み
DNSと有効期限
Python
レスポンスコードと制限
エラーは次の形式のJSONボディを返します {"error": "…"}. レート制限に関するヘッダーはすべてのリクエストで返されます。
| コード | 意味 |
|---|---|
| 200 / 206 | 成功です。206は部分的な(再開された)ダウンロードを表します。 |
| 302 | ダウンロードのルートでブラウザセッションが見つかりません。APIキーの場合は代わりに401が返されます。 |
| 401 | APIキーが未指定、無効、またはIPでブロックされています。 |
| 403 | このデータセットへの有効な有料アクセスがありません。 |
| 404 | 不明なデータセットまたはエンティティ、あるいはファイルがまだアップロードされていません。 |
| 416 | 不正な形式、またはマルチパートのRangeリクエストです。 |
| 429 | レート制限を超えました。しばらく待ってから再試行してください。 |
パブリックエンドポイントはIPごとに制限されます。認証済みエンドポイントは、上記の通りキーごとまたはユーザーごとに制限されます。
開発を始めましょう
アカウントでキーを作成するか、先にデータセットを閲覧して無料サンプルを取得してください。 カスタムの抽出についてご質問がある場合は、メールでお問い合わせください: support@webatla.com.