webatla API

Alan adı veritabanını doğrudan kendi altyapınıza aktarın. Bearer anahtarıyla kimlik doğrulayın, sıkıştırılmış JSONL olarak tüm veri setini veya bir dilimini indirin ve yerel olarak filtreleyin. Satır başına ücretlendirme yoktur.

API anahtarı alın OpenAPI spesifikasyonu
RESTHTTPS üzerinden, JSON yanıtları
Bearertoken kimlik doğrulama, IP izin listesi
JSONLzstd ile sıkıştırılmış dosyalar
OpenAPI3.1 makine spesifikasyonu

API nasıl çalışır

API, canlı bir sorgu uç noktası değil, tam dosyalar sunar. Tüm veri setini veya tek bir dilimi indirir, ardından kendi makinenizde dilimler ve filtrelersiniz. Bu, indirmeleri hızlı tutar ve sorgularınıza herhangi bir sınır koymaz.

1. Anahtar oluşturun

Hesabınızda bir Bearer API anahtarı oluşturun, isterseniz bir IP izin listesiyle kısıtlayın. Bunu bir Authorization başlığı olarak gönderin.

2. Dosyaları indirin

Tam dışa aktarımı veya TLD, TLD son eki, ülke ya da teknolojiye göre tek bir dilimi alın. Yarıda kalan indirmeleri bir Range isteğiyle devam ettirin.

3. Yerel olarak filtreleyin

zstd ile açın, jq, bir veri ambarı veya kendi kodunuzla sorgulayın. Dilim başına tek bir boyut vardır, gerisini kendiniz kesiştirin.

Kimlik doğrulama

Uç noktaların çoğu Bearer API anahtarı gerektirir. Herkese açık katalog ile preview ve sample uç noktaları kimlik doğrulama gerektirmez.

  • Anahtarlarınızı hesabınızda. oluşturun ve yönetin. Tam anahtar sadece oluşturulduğu anda gösterilir, bu yüzden güvenli bir şekilde saklayın.
  • Onu doğrulanmış her istekte Authorization: Bearer wbtl_… olarak gönderin.
  • İsteğe bağlı olarak bir anahtarı bir IP izin listesiyle sınırlayabilirsiniz. Diğer adreslerden gelen istekler şu yanıtı alır: 401.
  • Hız sınırlaması anahtar başına uygulanır. Bir anahtarı istediğiniz zaman değiştirebilir veya iptal edebilirsiniz.
GEThttps://webatla.com/api/v1/me Authorization: Bearer wbtl_•••••••f3a9 # 200 OK { "user": { "id": "…", "email": "you@example.com", "role": "customer" }, "apiKeyId": "…", "scopes": ["me:read"] }

Uç noktalar

Eksiksiz, makine tarafından okunabilir sözleşmeye şu adresten ulaşabilirsiniz: /api/v1/openapi.json (OpenAPI 3.1).

Yöntem Endpoint Kimlik doğrulama Hız sınırı Amaç
GET/api/v1/datasetsHerkese açık60/minFiyat ve satır sayılarıyla birlikte yayınlanmış veri setlerinin listesi
GET/api/v1/preview?dataset={slug}Herkese açık30/minBütün bir veri setinin ücretsiz 10.000 satırlık örneği
GET/api/v1/sample/{scope}/{key}?dataset={slug}Herkese açık30/minTek bir varlık için ücretsiz 20 satırlık örnek (TLD, uzantı, ülke, teknoloji)
GET/api/v1/meBearer200/minGeçerli anahtarın kullanıcısı ve scope'ları
GET/api/v1/me/ordersBearer200/minSiparişleriniz ve durumları
GET/api/v1/me/downloadsBearer200/minİndirme geçmişiniz (?limit= en fazla 500)
GET/api/download/{slug}Bearer240/minVeri setinin tam dışa aktarımı, format: .jsonl.zst
GET/api/download/{slug}/{scope}/{key}Bearer240/minVeri setinin scope başına bir dilimi

scope şunlardan biridir: tld, tld_suffix, country veya technology. İndirme uç noktaları, o veri setine ücretli ve süresi dolmamış erişim gerektirir.

Hızlı başlangıç

Her indirme tek bir dosyadır. Tüm veri setini alın veya önce tek bir boyuta daraltın.

Tam dışa aktarımı indirin

GEThttps://webatla.com/api/download/all-data Authorization: Bearer wbtl_•••••••f3a9 # Tüm veri setini tek bir .jsonl.zst dosyası olarak akışa alır

Tek bir dilimi indirin

GEThttps://webatla.com/api/download/all-data/tld/com https://webatla.com/api/download/all-data/tld_suffix/com.ua https://webatla.com/api/download/websites-ranking/country/DE https://webatla.com/api/download/technologies/technology/wordpress Authorization: Bearer wbtl_•••••••f3a9 # Dosya başına tam olarak bir boyut. Kalanını yerelde kesiştir.

curl, devam ettirme ve yerel filtreleme

curl -OJ -H "Authorization: Bearer wbtl_•••••••f3a9" \ https://webatla.com/api/download/technologies/technology/wordpress # Kesintiye uğramış indirmeyi -C - ile sürdür curl -C - -OJ -H "Authorization: Bearer wbtl_•••••••f3a9" \ https://webatla.com/api/download/all-data # Kendi makinenizde aç ve filtrele zstdcat webatla-technologies-WordPress-*.jsonl.zst \ | jq -c 'select(.["Country by IP"] == "DE")' > wordpress-de.jsonl

Önceki indirmeleri listeleme komutu: GET https://webatla.com/api/v1/me/downloads. Anahtarsız ücretsiz önizleme: GET https://webatla.com/api/v1/preview?dataset=all-data.

Veri biçimi

Dosyalar JSON Lines biçimindedir (satır başına bir JSON nesnesi) ve zstd ile sıkıştırılmıştır. Şema tüm veri setlerinde ortaktır, bu sayede sinyaller aynı alan adı anahtarında hizalanır.

  • Her satır bir alan adıdır. Açma komutu: zstd -d akış komutu: zstdcat.
  • Sütun adları boşluk içerebilir, bu yüzden jq içinde onlara köşeli parantez anahtarlarıyla erişin, örneğin: .["Country by IP"].
  • Alanlar eksik veya null olabilir. Böyle durumlarda varsayılan bir değer atayın, örneğin: .Registrar // "".
  • Tarihler ISO 8601 dize biçimindedir, örneğin: "2026-11-18T04:47:13.573" veya "2026-04-22".

Sütun referansı

SütunTürÖrnekVeri setleri
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*

Veri setleri: d1 All active domains · d2 Websites + Ranking · d3 Technologies · d4 DNS · d5 RDAP & WHOIS · d6 All data · d7 Domain Investor.
* All data (d6) veri setinde RDAP/WHOIS alanları yalnızca tescil kaydı bulunan alan adları için mevcuttur.

İç içe alan yapıları

  • Technologies ya bir isim dizisidir ya da isim-sürüm eşlemesi içeren bir nesnedir.
  • DNS Status tam olarak "TRUE" veya "FALSE", dizesidir, boolean değildir.
  • DNS records bir kayıt türünü değerlerine eşler: A, AAAA, NS, SOA, TXT, MX, CNAME, CAA, HTTPS, DNSKEY, DS, SRV, PTR…. MX şu şekildedir: [{"host", "priority"}].
  • Social networks bir platformu profil bağlantılarına eşler: facebook, instagram, x-twitter, linkedin, youtube, whatsapp, telegram, tiktok, github…. Bunlar sitenin kendi herkese açık bağlantılarıdır, bir kişinin iletişim bilgisi değildir.
  • RDAP/WHOIS Record ICANN kurallarına göre kişisel alanları çıkarılmış ham kayıt verisini tutar.

Tarifler

Gerçek dışa aktarım dosyalarına karşı doğrulanmıştır. Bir dosyayı indirdikten sonra her şey yerel olarak çalışır.

Sayma, çıkarma ve CSV'ye dışa aktarma

# Bir dilimdeki satırları say zstdcat webatla-all-data-com-*.jsonl.zst | wc -l # Satır başına bir alan adı zstdcat webatla-all-data-com-*.jsonl.zst | jq -r '.Domain' > domains.txt # Seçilen sütunlar CSV'ye zstdcat webatla-all-data-com-*.jsonl.zst \ | jq -r '[.Domain, .["Country by IP"] // "", .Registrar // ""] | @csv' > out.csv

Teknolojiye göre filtrele

# Technologies bir dizi VEYA bir nesnedir, ikisini de işle zstdcat webatla-all-data-com-*.jsonl.zst \ | jq -c 'select(.Technologies | if type=="array" then index("WordPress") elif type=="object" then has("WordPress") else false end)' > wordpress.jsonl

DNS ve son kullanma tarihi

# Park edilmiş veya ölü alan adları zstdcat webatla-dns-com-*.jsonl.zst \ | jq -r 'select(.["DNS Status"] == "FALSE") | .Domain' > parked.txt # Benzersiz A kayıtları zstdcat webatla-dns-com-*.jsonl.zst \ | jq -r '.["DNS records"].A[]?' | sort -u > ips.txt # Haziran 2026'da süresi dolan alan adları zstdcat webatla-all-data-com-*.jsonl.zst \ | jq -r 'select((.["Domain expiration date"] // "") | startswith("2026-06")) | .Domain'

Python

# Önce aç zstd -d webatla-all-data-com-*.jsonl.zst # Sonra satır satır oku import json with open("webatla-all-data-com-2026-06-09.jsonl", encoding="utf-8") as f: for line in f: row = json.loads(line) t = row.get("Technologies") names = t if isinstance(t, list) else list(t) if isinstance(t, dict) else [] if "WordPress" in names and row.get("Country by IP") == "DE": print(row["Domain"])

Yanıt kodları ve limitler

Hatalar şu şekilde bir JSON gövdesi döndürür: {"error": "…"}. Frekans sınırı başlıkları her istekte döndürülür.

KodAnlam
200 / 206Başarılı. 206, kısmi (sürdürülen) bir indirmedir.
302İndirme rotasında bir tarayıcı oturumu eksik. API anahtarları bunun yerine 401 alır.
401Eksik, geçersiz veya IP tarafından engellenmiş API anahtarı.
403Bu veri setine aktif ücretli erişim yok.
404Bilinmeyen veri seti veya varlık, ya da dosya henüz yüklenmemiş.
416Hatalı biçimlendirilmiş veya çok parçalı Range isteği.
429Hız sınırı aşıldı. Biraz bekleyip tekrar deneyin.

Herkese açık uç noktalar IP başına sınırlıdır. Kimlik doğrulamalı uç noktalar ise yukarıda listelendiği gibi anahtar başına veya kullanıcı başına sınırlıdır.

Geliştirmeye başlayın

Hesabınızda bir anahtar oluşturun veya önce veri setlerine göz atıp ücretsiz bir örnek indirin. Özel bir kesit hakkında sorularınız mı var? Şu adrese e-posta gönderin: support@webatla.com.