Link, siti ed email
Controlla un link
Copertura: Esamina solo testo e link visibili. Mittente, allegati e contenuti del sito non vengono verificati.
Apri lo strumentoIn questa pagina
A cosa serve
Controlla numeri, messaggi e link
Esamina solo testo e link visibili. Mittente, allegati e contenuti del sito non vengono verificati.
Requisiti
Chiunque può leggere queste guide, senza account. Alcuni strumenti richiedono Pro, come indicato in ogni guida.
Inserisci un link HTTP o HTTPS completo, oppure un dominio.
Come usarlo
Controlla link o sito
In Email incolla il testo; in Link, l’indirizzo. Premi Verifica e controlla segnali e dominio reale. Non apre link né autentica il mittente.
Leggi i campi disponibili insieme ai loro limiti. Un risultato vuoto non dimostra sicurezza e non identifica una persona.
Esempio inventato
Esempio inventato, non una ricerca reale. Non chiamare e non aprire i suoi link.
https://[email protected]/noticeInterpretare il risultato
Il testo prima di @ può nascondere il dominio effettivo indicato sotto.
Usa HTTP, senza crittografia HTTPS.
Esamina il dominio internazionalizzato: alcuni caratteri possono sembrare uguali.
Usa un indirizzo IP numerico anziché un dominio.
Nessun segnale di rischio evidente
Limiti
Controllo su questo dispositivo. Il testo non viene inviato né salvato.
Esamina solo testo e link visibili. Mittente, allegati e contenuti del sito non vengono verificati.
Risoluzione dei problemi
Inserisci un link HTTP o HTTPS completo, oppure un dominio.
Usare con l’API
Richiede una API key e dei crediti. Ogni chiamata completata costa 1 credito, anche quando non ci sono dati. Un account Pro attivo include 20 crediti per mese solare UTC, condivisi da tutte le rotte API e consumati per primi; i crediti mensili non usati non passano al mese successivo. I crediti acquistati nella pagina del tuo account funzionano senza Pro e non scadono mai.
Gli errori non vengono mai addebitati: 401 invalid_api_key (chiave mancante o non valida), 403 pro_required (nessun credito Pro e nessun credito acquistato), 422 input non valido, 429 quota_exceeded (crediti esauriti), rate_limit_exceeded o ai_busy (l’IA di sms-check è al limite della capacità), 503 tool_warming (i dati sono ancora in preparazione) o tool o provider non disponibile. Dopo un 429 o un 503, riprova quando sono trascorsi i secondi indicati nell’intestazione Retry-After.
Ispezione statica di un URL: host in Unicode e ASCII, se è un dominio ufficiale di un marchio o di un ente pubblico (e di chi), flag strutturali del link e segnali del motore di regole. Nessun download, nessun reindirizzamento seguito né verifica di reputazione.
Invia il corpo JSON alla rotta specifica del tool, oppure a POST /v2/tools aggiungendo il campo tool. Entrambe le rotte restituiscono lo stesso risultato.
POST https://api.nocall.io/v2/link-check
POST https://api.nocall.io/v2/tools {"tool":"link-check","url":"http://192.168.1.1/login","country":"ES"}Parametri
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| url | string (1–2000) | Sì | URL da ispezionare. Non viene mai scaricato. |
| country | string (enum, 55) | No (predefinito: "ES") | Paese di cui si usa il set di regole SMS. |
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/link-check' \
--header "Authorization: Bearer $NOCALL_API_KEY" \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $REQUEST_ID" \
--data '{"url":"http://192.168.1.1/login","country":"ES"}'import json
import os
import urllib.request
import uuid
api_key = os.environ.get('NOCALL_API_KEY')
if not api_key:
raise SystemExit('Set NOCALL_API_KEY')
request = urllib.request.Request(
'https://api.nocall.io/v2/link-check',
method='POST',
data=json.dumps({'url': 'http://192.168.1.1/login', 'country': 'ES'}).encode(),
headers={
'Authorization': 'Bearer ' + api_key,
'Content-Type': 'application/json',
'Idempotency-Key': str(uuid.uuid4()),
},
)
with urllib.request.urlopen(request, timeout=30) as response:
result = json.load(response)
print(result['data']['result'], result['meta']['unitsCharged'])import { randomUUID } from 'node:crypto';
const requestId = randomUUID();
const apiKey = process.env.NOCALL_API_KEY;
if (!apiKey) throw new Error('Set NOCALL_API_KEY');
const response = await fetch('https://api.nocall.io/v2/link-check', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + apiKey,
'Content-Type': 'application/json',
'Idempotency-Key': requestId,
},
body: JSON.stringify({ url: 'http://192.168.1.1/login', country: 'ES' }),
});
const result = await response.json();
if (!response.ok) throw new Error(result.error?.code ?? 'request_failed');
console.log(result.data.result, result.meta.unitsCharged);Esempio di risposta (200)
Questo è l’esempio documentato nel riferimento API. Le ricerche usano un numero fittizio, mentre aggregati e risposte dell’IA mostrano la struttura del risultato, non dati reali.
{
"data": {
"tool": "link-check",
"result": {
"host": "192.168.1.1",
"hostAscii": "192.168.1.1",
"official": false,
"brand": null,
"hosts": [
"192.168.1.1"
],
"linkFlags": [
"http",
"ipAddress"
],
"signals": [
"suspicious_domain"
],
"attention": true
}
},
"meta": {
"requestId": "req_example",
"unitsCharged": 1,
"usage": {
"periodStart": "2026-10-01",
"unitLimit": 20,
"unitsUsed": 3,
"unitsRemaining": 17
}
}
}Campi del risultato (data.result)
| Campo | Tipo | Descrizione |
|---|---|---|
| host | string | Nome host dell’URL, in forma Unicode. |
| hostAscii | string | Nome host dell’URL, in forma ASCII (punycode). |
| official | boolean | Se l’host è un dominio ufficiale di un marchio o di un ente pubblico. |
| brand | string | null | Di chi è il dominio ufficiale dell’host (un marchio o un ente pubblico), oppure null. |
| hosts | array<string> | Nomi host trovati nel testo. |
| linkFlags | array<"http" | "userinfo" | "internationalHost" | "ipAddress" | "nonStandardPort"> | Avvisi strutturali sul link: http, userinfo, host internazionale, indirizzo IP o porta non standard. |
| signals | array<string (enum, 10)> | Segnali delle regole rilevati. |
| attention | boolean | Se il contenuto merita un controllo più attento. |
