Enrichissez tout ce qui contient un domaine, à partir d’un seul fichier JSONL
409M domaines actifs avec des signaux DNS, WHOIS, technologie et classement, une ligne par domaine, reconstruits chaque jour. L’export complet coûte €599. Entraînez des modèles, notez vos enregistrements et lancez votre propre produit de données par-dessus.
Votre pipeline, notre fichier
Quatre recettes sur le schéma réel. Chaque clé ci-dessous correspond exactement à ce qui figure dans l’export. Testez-en une d’abord sur l’échantillon gratuit de 10 000 lignes.
DomainTLDDomain typeHTTP statusIP addressCountry by IPTechnologiesDNS recordsPR valueHarmonic valueRegistrarDomain creation dateDomain expiration dateRDAP/WHOIS Record
Une liste de leads, directement depuis le fichier
Chaque site WordPress avec un enregistrement MX actif, diffusé en flux directement depuis l’export. Rien n’atterrit sur le disque.
# 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
Adoption technologique par TLD
Agrégez sur 1 431 TLD directement sur le fichier, sans étape de chargement. DuckDB lit le champ technology comme du JSON, demandez-lui donc d’abord son type.
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;
Enrichissez votre CRM via la clé de domaine
Faites un LEFT JOIN entre vos propres données et l’export. Pays, classement et stack technique apparaissent alors à côté de chaque ligne que vous aviez déjà.
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";
Passage à mémoire constante sur un ordinateur portable
Streamez les 409 807 815 lignes sans garder le fichier en RAM. Calculez des features, notez-les, puis exportez le résultat.
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"))
La recette un et la recette quatre sont la même requête dans deux moteurs, et sur le même export elles renvoient les mêmes lignes. Vérifier le même filtre dans deux outils est exactement la façon de valider toute pipeline que vous construisez dessus.
Pouvez-vous construire un produit dessus ? Oui
La répartition honnête. Construisez à partir des données et vendez ce que vous construisez. Revendre les lignes brutes est un autre métier, et nous le facturons comme tel.
Autorisé d’emblée
- Enrichissez vos propres données et celles de vos clients
- Entraîner des modèles et vendre les scores, classifications et verdicts
- Alimentez des recherches et fonctionnalités dans votre produit
- Publier des analyses agrégées, des études et des rapports
Ce que vous construisez vous appartient. L’achat d’un dataset vous donne la licence, pas la base de données sous-jacente.
Commencer avec all-dataTransmettre des lignes brutes nécessite un accord
- Revendre ou redistribuer les datasets bruts, en totalité ou en grande partie
- Sous-licencier l’export à des tiers
La redistribution des données brutes est un métier différent, et nous la tarifons comme tel. C’est précisément ce qui permet de garder le fichier lui-même aussi peu cher pour tous les autres. Les droits de redistribution personnalisés sont négociables.
Contactez les ventesLe test en une question : vendez-vous nos lignes, ou vendez-vous ce que vous en avez fait ? La seconde option ne nécessite aucune autorisation. Le texte complet se trouve dans les conditions d’utilisation.
L’effet sur votre coût de revient
La tarification à l’usage pour l’enrichissement augmente avec votre volume, votre marge se réduit donc précisément au moment où vous réussissez. Un fichier plat n’a pas ce problème.
Votre ligne de données s’arrondit à zéro
À €1,46 le million d’enregistrements complets, le coût des données sous-jacentes cesse d’être un poste à optimiser.
Le coût ne suit plus l’usage
Votre marge ne rétrécit plus quand le produit grandit. Le fichier coûte le même prix, que vous l’interrogiez une fois ou un milliard de fois.
Commencez plus petit si vous préférez
all-active-domains coûte €29 pour l’espace de noms complet. Validez le pipeline, puis prenez toutes les colonnes.
Cela s’intègre là où vos données vivent déjà
Un fichier JSON avec un objet par ligne, en compression standard. Pas de SDK, pas de format propriétaire, pas de client fournisseur.
jq et shell
Diffusez le fichier en flux et filtrez-le. Vous n’avez jamais besoin de l’écrire entièrement sur disque.
DuckDB et ClickHouse
Les deux lisent directement du JSON délimité par des retours à la ligne, compression comprise. Déclarez les colonnes pour éviter l’inférence de type sur les lignes larges.
Spark et pandas
Lecteurs JSONL standards. En chunks ou en stream, le schéma est identique sur chaque ligne.
BigQuery
BigQuery charge du NDJSON brut, donc décompressez le fichier à l’import ou déposez-le d’abord dans un stockage.
Polars et Arrow
Scannez le fichier en mode lazy et filtrez avant que quoi que ce soit ne soit matérialisé. Transmettez le résultat directement à Arrow.
Snowflake et Databricks
Les deux ingèrent du JSON délimité par ligne depuis l’object storage. Déposez le fichier une fois, puis pointez un stage ou un volume dessus.
Ce que les développeurs demandent vraiment
Répondu sans détour.
Le schéma est-il stable d’un export à l’autre ?
Oui, les clés et leur signification restent stables d’une reconstruction quotidienne à l’autre, et elles sont documentées. Deux formes sont à connaître avant d’écrire le parser. Technologies arrive sous forme de liste de noms, ou sous forme de correspondance entre nom et version quand nous avons détecté des versions. Les champs vides arrivent en tant que null au lieu d’être supprimés, chaque ligne a donc les mêmes clés.
Quelle est sa fraîcheur ?
Chaque dataset est reconstruit chaque jour. L’accès couvre un mois calendaire de retéléchargements, vous pouvez donc récupérer l’export le plus récent aussi souvent que votre pipeline le demande.
Puis-je intégrer cela dans un produit que je vends ?
Oui. Enrichissement, scores, classifications, lookups et analyses agrégées, vous pouvez tout vendre. La redistribution des lignes brutes nécessite un accord écrit de redistribution. Voir répartition de licence ci-dessus.
Ce que contiennent les enregistrements, et ce qu’ils ne contiennent pas
Données publiques d’enregistrement, DNS et technologie. Aucune donnée personnelle de contact, donc pas de noms de titulaires, pas d’e-mails, pas de numéros de téléphone. C’est un choix de conception délibéré, et c’est ce qui rend le fichier sûr à intégrer dans un produit que vous vendez.
Dois-je télécharger 30 GB pour le tester ?
Non. Chaque dataset a un échantillon gratuit de 10 000 lignes, sans compte. L’API bearer incluse fournit aussi une tranche à la fois par TLD, pays ou technologie, à 240 requêtes par minute.
Exécutez une recette sur 10 000 lignes réelles
Pas de compte, pas d’e-mail. Si l’échantillon se parse proprement dans votre pipeline, l’export complet coûte €599 et le schéma ne change pas.