Arricchisca qualsiasi cosa contenga un dominio, da un unico file JSONL
410M domini attivi con segnali DNS, WHOIS, tecnologia e ranking, una riga per dominio, ricostruiti ogni giorno. L’esportazione completa costa €599. Addestri modelli, valuti i suoi record e lanci il suo prodotto dati sopra di essi.
La sua pipeline, il nostro file
Quattro ricette sullo schema reale. Ogni chiave qui sotto è esattamente ciò che viene incluso nell’esportazione. Provi prima una qualsiasi di esse sul campione gratuito di 10.000 righe.
DomainTLDDomain typeHTTP statusIP addressCountry by IPTechnologiesDNS recordsPR valueHarmonic valueRegistrarDomain creation dateDomain expiration dateRDAP/WHOIS Record
Una lista di lead, direttamente dal file
Ogni sito WordPress con un record MX attivo, trasmesso in streaming direttamente dall’esportazione. Niente viene salvato su disco.
# Technologies ships as a list of names, or a name-to-version map. # One line normalizes both shapes. zstdcat webatla-all-data-2026-08-30.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
Adozione tecnologica per TLD
Aggreghi dati su 1430 TLD direttamente sul file, senza fase di caricamento. DuckDB legge il campo technology come JSON, quindi gli chieda prima il tipo.
SELECT "TLD", count(*) AS domains FROM read_json('webatla-all-data-2026-08-30.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;
Arricchire il CRM tramite la chiave di dominio
Esegua un LEFT JOIN tra i suoi record e l’esportazione. Paese, ranking e stack tecnologico compaiono accanto a ogni riga che aveva già.
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-30.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";
Passaggio a memoria costante su un laptop
Trasmetta in streaming tutte le 410.862.495 righe senza tenere il file in RAM. Costruisca le feature, le valuti e le esporti.
import io, json, zstandard as zstd with open("webatla-all-data-2026-08-30.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 ricetta uno e la ricetta quattro sono la stessa query in due motori, e sulla stessa esportazione restituiscono le stesse righe. Verificare lo stesso filtro in due strumenti è il modo corretto per convalidare qualunque pipeline costruita su questi dati.
Può costruire un prodotto con questo? Sì
La divisione onesta. Costruisca sui dati e venda ciò che costruisce. Inviare le righe grezze a terzi è un business diverso, e lo tariffiamo come tale.
Consentito di default
- Arricchire i propri record e quelli dei propri clienti
- Addestrare modelli e vendere punteggi, classificazioni e verdetti
- Alimentare ricerche e funzionalità all’interno del proprio prodotto
- Pubblicare analisi aggregate, ricerche e report
Ciò che costruisce le appartiene. Acquistare un dataset le dà la licenza, non il database sottostante.
Iniziare con all-dataInviare righe grezze richiede un accordo
- Rivendere o ridistribuire i dataset grezzi, per intero o in gran parte
- Concedere in sublicenza l’esportazione a terzi
La ridistribuzione grezza è un business diverso e la tariffiamo come tale. È esattamente questo che mantiene il file così economico per tutti gli altri. I diritti di ridistribuzione personalizzati sono negoziabili.
Contattare il reparto venditeIl test della singola domanda: sta vendendo le nostre righe, o sta vendendo ciò che ha creato a partire da esse? La seconda opzione non richiede alcuna autorizzazione. Il testo completo si trova nei termini.
L’effetto sul suo costo del venduto
Il prezzo dell’arricchimento a consumo cresce con il suo volume di utilizzo, quindi il suo margine si riduce proprio quando ha successo. Un file piatto non ha questo problema.
La sua voce di dati si arrotonda a zero
A €1,46 per milione di record completi, il costo dei dati sottostanti smette di essere una voce di spesa da ottimizzare.
Il costo smette di seguire l’utilizzo
Il suo margine non si riduce più quando il prodotto cresce. Il file costa lo stesso, che lo interroghi una volta o un miliardo di volte.
Inizi in piccolo, se preferisce
all-active-domains costa €29 per l’intero namespace. Convalidi la pipeline, poi prenda tutte le colonne.
Si integra dove i suoi dati vivono già
Un unico file JSON delimitato da a capo, in compressione standard. Nessun SDK, nessun formato proprietario, nessun client del fornitore.
jq e shell
Trasmetta il file in streaming e lo filtri. Non deve mai scriverlo per intero su disco.
DuckDB e ClickHouse
Entrambi leggono direttamente JSON delimitato da a capo, compressione inclusa. Dichiari le colonne per evitare l’inferenza dei tipi sulle righe larghe.
Spark e pandas
Lettori JSONL standard. A blocchi o in streaming, lo schema è identico su ogni riga.
BigQuery
BigQuery carica NDJSON semplice, quindi decomprima il file in fase di importazione oppure depositi prima il file nello storage.
Polars e Arrow
Analizzi il file in modalità lazy e filtri prima che qualcosa venga materializzato. Passi il risultato direttamente ad Arrow.
Snowflake e Databricks
Entrambi importano JSON delimitato da a capo dall’object storage. Depositi il file una volta, poi punti uno stage o un volume su di esso.
Le domande che gli ingegneri fanno davvero
Risposte senza giri di parole.
Lo schema è stabile tra le esportazioni?
Sì, le chiavi e il loro significato restano stabili tra una ricostruzione giornaliera e l’altra, e sono documentate. Prima di scrivere il parser vale la pena conoscere due formati. Technologies arriva come elenco di nomi, oppure come mappa nome-versione quando abbiamo rilevato le versioni. I campi sparsi arrivano come null invece di essere omessi, quindi ogni riga ha le stesse chiavi.
Quanto è aggiornato?
Ogni dataset viene ricostruito ogni giorno. L’accesso include un mese di calendario di download ripetuti, così può scaricare l’esportazione più recente tutte le volte che la sua pipeline lo richiede.
Posso includerlo in un prodotto che vendo?
Sì. Può vendere liberamente arricchimento, punteggi, classificazioni, ricerche e analisi aggregate. Redistribuire le righe grezze richiede un accordo di redistribuzione scritto. Per i dettagli, vedere sopra: divisione della licenza.
Cosa contengono i dati, e cosa non contengono
Dati pubblici di registrazione, DNS e tecnologia. Nessun dato personale di contatto, quindi nessun nome del titolare, nessuna email, nessun numero di telefono. È una scelta di progettazione deliberata, ed è ciò che rende il file sicuro da inserire in un prodotto che vende.
Devo scaricare 30 GB per testarlo?
No. Ogni dataset ha un campione gratuito di 10.000 righe, senza necessità di account. L’API bearer inclusa serve inoltre una porzione alla volta per TLD, paese o tecnologia, a 240 richieste al minuto.
Esegua una ricetta su 10.000 righe reali
Nessun account, nessuna email. Se il campione viene elaborato correttamente nella sua pipeline, l’export completo costa €599 e lo schema non cambia.