Збагачуйте будь-які дані, у яких є домен, з одного JSONL-файлу

409M активних доменів із сигналами DNS, WHOIS, технологій і рейтингу, по одному рядку на домен, оновлення щодня. Повний експорт коштує €599. Навчайте моделі, оцінюйте записи та будуйте власний дата-продукт на цій основі.

Отримати безкоштовний зразок 10K Переглянути all-data, €599

Чи можна побудувати на цьому продукт? Читайте ліцензію →

409M+активних доменів, по одному рядку на кожен
€1,46за 1M повних записів
32,5 GBодин JSONL-файл на експорт
Щодняоновлення експортів, схема незмінна

Ваш пайплайн, наш файл

Чотири рецепти на реальній схемі. Кожна назва поля нижче саме така, як в експорті. Спершу запустіть будь-який із них на безкоштовному зразку з 10 000 рядків.

DomainTLDDomain typeHTTP statusIP addressCountry by IPTechnologiesDNS recordsPR valueHarmonic valueRegistrarDomain creation dateDomain expiration dateRDAP/WHOIS Record

Список лідів просто з файлу

Кожен сайт на WordPress із робочим MX-записом, потоком просто з експорту. На диск нічого не пишеться.

bash + jq
# Technologies ships as a list of names, or a name-to-version map.
# One line normalizes both shapes.
zstdcat webatla-all-data-2026-08-18.jsonl.zst |
jq -c 'def techs: (.Technologies // []) | if type == "object" then keys else . end;
   select(techs | index("WordPress"))
   | select((."DNS records" // {}) | has("MX"))
   | {domain: .Domain, tld: .TLD, rank: ."PR value"}' \
  > wordpress-with-mail.jsonl

Поширеність технологій за TLD

Агрегуйте по 1 431 TLD просто у файлі, без окремого завантаження. DuckDB читає поле технологій як JSON, тому спершу перевірте його тип.

duckdb
SELECT "TLD", count(*) AS domains
FROM read_json('webatla-all-data-2026-08-18.jsonl.zst',
       format='newline_delimited', compression='zstd',
       columns={'TLD':'VARCHAR', 'Technologies':'JSON'})
WHERE list_contains(
        CASE json_type("Technologies")
          WHEN 'ARRAY'  THEN json_extract_string("Technologies", '$[*]')
          WHEN 'OBJECT' THEN json_keys("Technologies")
          ELSE []::VARCHAR[] END, 'WordPress')
GROUP BY "TLD" ORDER BY domains DESC LIMIT 20;

Збагатіть свою CRM за ключем домену

Приєднайте власні записи до експорту через LEFT JOIN. Країна, рейтинг і технологічний стек стануть поруч із кожним рядком, який у вас уже є.

duckdb
SELECT c.*, w."Country by IP", w."PR value", w."Registrar"
FROM 'crm.csv' c
LEFT JOIN (
  SELECT "Domain", "Country by IP", "PR value", "Registrar"
  FROM read_json('webatla-all-data-2026-08-18.jsonl.zst',
         format='newline_delimited', compression='zstd',
         columns={'Domain':'VARCHAR', 'Country by IP':'VARCHAR',
                  'PR value':'DOUBLE', 'Registrar':'VARCHAR'})
) w ON lower(c.domain) = w."Domain";

Прохід по файлу на ноутбуці зі сталою памʼяттю

Читайте потоком усі 409 807 815 рядків, не тримаючи файл у памʼяті. Рахуйте ознаки, оцінюйте їх і записуйте результат.

python
import io, json, zstandard as zstd

with open("webatla-all-data-2026-08-18.jsonl.zst", "rb") as f:
    for line in io.TextIOWrapper(zstd.ZstdDecompressor().stream_reader(f)):
        r = json.loads(line)
        t = r.get("Technologies") or []
        names = list(t) if isinstance(t, dict) else t
        if "WordPress" in names and (r.get("DNS records") or {}).get("MX"):
            print(r["Domain"], r.get("Registrar"))

Перший і четвертий рецепти — це той самий запит у двох рушіях, і на тому самому експорті вони повертають однакові рядки. Перехресна перевірка одного фільтра двома інструментами і є способом валідувати будь-який пайплайн, який ви на цьому будуєте.

Чи можна побудувати на цьому продукт? Так

Чесний розподіл. Будуйте на даних і продавайте те, що побудували. Передавати сирі рядки далі — це вже інший бізнес, і ціна на нього інша.

Дозволено одразу

  • Збагачувати власні записи та записи ваших клієнтів
  • Навчати моделі та продавати оцінки, класифікації і висновки
  • Живити пошук і функції всередині вашого продукту
  • Публікувати агреговані висновки, дослідження та звіти

Те, що ви побудували, належить вам. Купівля датасету дає ліцензію, а не саму базу даних.

Почати з all-data

Для передачі сирих рядків потрібна угода

  • Перепродаж або перерозповсюдження сирих датасетів, цілком чи у значній частині
  • Субліцензування експорту третім сторонам

Перерозповсюдження сирих даних — інший бізнес, і ціна на нього відповідна. Саме завдяки цьому сам файл лишається таким дешевим для всіх інших. Окремі права на перерозповсюдження обговорюються.

Звернутися до відділу продажів

Тест з одного питання: ви продаєте наші рядки чи те, що з них зробили? Другий варіант не потребує дозволу. Повне формулювання наведено в розділі Умови використання.

Що це робить із вашою собівартістю

Тарифи на збагачення з оплатою за запит зростають разом із вашим обсягом, тож маржа зменшується саме тоді, коли ви ростете. Зі звичайним файлом такого не буває.

all-data, повний експорт€599
записів в експорті409 807 815
повторні завантаження протягом місяцябез обмежень
тарифікація за запитаминемає
409 807 815 ÷ €599 €1,46 / 1M записів

Витрати на дані округлюються до нуля

За €1,46 на мільйон повних записів вартість самих даних перестає бути статтею витрат, яку варто оптимізувати.

Витрати більше не залежать від обсягу

Ваша маржа більше не падає, коли продукт росте. Файл коштує однаково, скільки б запитів ви до нього не зробили: один чи мільярд.

Можна почати з меншого

all-active-domains коштує €29 за весь простір імен. Перевірте пайплайн, а потім беріть усі колонки.

Це вписується туди, де вже живуть ваші дані

Один файл JSON із розбивкою по рядках у стандартному стисненні. Без SDK, без пропрієтарних форматів, без клієнта від постачальника.

jq і shell

Читайте файл потоком і фільтруйте. Вам ніколи не доведеться записувати його цілком на диск.

DuckDB і ClickHouse

Обидва читають JSON із розбивкою по рядках напряму, разом зі стисненням. Оголосіть колонки, щоб пропустити визначення типів на широких рядках.

Spark і pandas

Стандартні зчитувачі JSONL. Розбивайте на частини або читайте потоком, схема однакова в кожному рядку.

BigQuery

BigQuery завантажує звичайний NDJSON, тому розпакуйте файл на вході або спершу покладіть його у сховище.

Polars і Arrow

Скануйте файл ліниво і фільтруйте ще до матеріалізації. Результат передавайте одразу в Arrow.

Snowflake і Databricks

Обидва приймають JSON із розбивкою по рядках з обʼєктного сховища. Покладіть файл один раз, а потім спрямуйте на нього stage або volume.

Питання, які інженери справді ставлять

Відповіді без вивертів.

Чи стабільна схема між експортами?

Так, назви полів і їхнє значення не змінюються між щоденними оновленнями, і вони задокументовані. Дві форми варто знати ще до того, як писати парсер. Technologies приходить як список назв або як відповідність назва-версія, коли ми визначили версії. Порожні поля приходять зі значенням null, а не зникають, тому кожен рядок має однаковий набір полів.

Наскільки свіжі дані?

Кожен датасет оновлюється щодня. Доступ включає календарний місяць повторних завантажень, тож ви можете забирати найновіший експорт стільки разів, скільки потрібно вашому пайплайну.

Чи можна вставити це в продукт, який я продаю?

Так. Збагачення, оцінки, класифікації, пошукові запити та агреговані висновки ви можете продавати. Щоб передавати сирі рядки далі, потрібна письмова угода про перерозповсюдження. Дивіться межі ліцензії вище.

Що є в записах, а чого немає

Публічні дані про реєстрацію, DNS і технології. Жодних контактних персональних даних: ні імен власників доменів, ні адрес електронної пошти, ні телефонів. Це свідоме рішення, і саме воно робить файл безпечним для використання всередині продукту, який ви продаєте.

Чи треба завантажувати 30 GB, щоб це перевірити?

Ні. Кожен датасет має безкоштовний зразок на 10 000 рядків без реєстрації. Включений API з bearer-токеном також віддає зріз по одному TLD, країні чи технології за раз, до 240 запитів за хвилину.

Запустіть рецепт на 10 000 справжніх рядків

Без реєстрації, без email. Якщо зразок без помилок парситься у вашому пайплайні, повний експорт коштує €599, а схема не змінюється.