Odkazy, weby a e-mail
Zkontrolovat odkaz
Pokrytí: Kontroluje pouze znění a viditelné odkazy. Neověřuje odesílatele, přílohy ani obsah webu.
Otevřít nástrojNa této stránce
Účel
Ověřte čísla, zprávy a odkazy
Kontroluje pouze znění a viditelné odkazy. Neověřuje odesílatele, přílohy ani obsah webu.
Požadavky
Tyto návody může číst kdokoli, i bez účtu. Některé nástroje vyžadují Pro, jak uvádí příslušný návod.
Zadejte úplný odkaz HTTP či HTTPS nebo doménu.
Jak používat
Kontrola odkazu nebo webu
Do E-mailu vložte text, do Odkazu adresu. Stiskněte Ověřit a prohlédněte signály i skutečnou doménu. Odkazy se neotevírají a odesílatel se neověřuje.
Čtěte dostupná pole spolu s omezeními. Prázdný výsledek nedokazuje bezpečnost ani neurčuje totožnost osoby.
Smyšlený příklad
Smyšlený příklad, nikoli skutečný dotaz. Nevolejte ani neotevírejte jeho odkazy.
https://[email protected]/noticeJak chápat výsledek
Text před @ může skrývat skutečnou doménu uvedenou níže.
Používá HTTP bez šifrování HTTPS.
Prověřte mezinárodní doménu: některé znaky vypadají podobně.
Používá číselnou IP adresu místo domény.
Žádné zjevné varovné signály
Omezení
Kontrola probíhá v zařízení. Text se nikam neodesílá ani neukládá.
Kontroluje pouze znění a viditelné odkazy. Neověřuje odesílatele, přílohy ani obsah webu.
Řešení potíží
Zadejte úplný odkaz HTTP či HTTPS nebo doménu.
Použít přes API
Vyžaduje API klíč a kredity. Každé dokončené volání stojí 1 kredit, i když nejsou k dispozici žádná data. Aktivní účet Pro zahrnuje 20 kreditů na kalendářní měsíc UTC, sdílených všemi cestami API a čerpaných jako první; nevyčerpané měsíční kredity se nepřevádějí. Kredity zakoupené na stránce vašeho účtu fungují i bez Pro a nikdy nevyprší.
Chyby se nikdy neúčtují: 401 invalid_api_key (chybějící nebo neplatný klíč), 403 pro_required (žádné kredity Pro ani zakoupené kredity), 422 neplatný vstup, 429 quota_exceeded (žádné zbývající kredity), rate_limit_exceeded nebo ai_busy (AI pro sms-check je plně vytížená), 503 tool_warming (data se teprve připravují) nebo tool či poskytovatel nedostupný. Po odpovědi 429 nebo 503 to zkuste znovu, až uplyne počet sekund z hlavičky Retry-After.
Statická kontrola jedné URL: hostitel v Unicode i ASCII, zda jde o oficiální doménu značky nebo státního úřadu (a čí), strukturální příznaky odkazu a signály pravidlového enginu. Žádné stahování, sledování přesměrování ani ověřování reputace.
Pošli tělo JSON na vlastní cestu toolu, nebo na POST /v2/tools s přidaným polem tool. Obě cesty vrátí stejný výsledek.
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"}Parametry
| Název | Typ | Povinný | Popis |
|---|---|---|---|
| url | string (1–2000) | Ano | URL ke kontrole. Nikdy se nestahuje. |
| country | string (enum, 55) | Ne (výchozí: "ES") | Země, jejíž sada pravidel pro SMS se použije. |
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);Ukázková odpověď (200)
Jde o zdokumentovaný příklad z reference API. Vyhledávání používají smyšlené číslo a agregace i odpovědi AI ukazují tvar výsledku, ne živá data.
{
"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
}
}
}Pole výsledku (data.result)
| Pole | Typ | Popis |
|---|---|---|
| host | string | Název hostitele URL ve tvaru Unicode. |
| hostAscii | string | Název hostitele URL ve tvaru ASCII (punycode). |
| official | boolean | Zda je hostitel oficiální doménou značky nebo státního úřadu. |
| brand | string | null | Čí oficiální doménou hostitel je (značky nebo státního úřadu), nebo null. |
| hosts | array<string> | Názvy hostitelů nalezené v textu. |
| linkFlags | array<"http" | "userinfo" | "internationalHost" | "ipAddress" | "nonStandardPort"> | Strukturální varování k odkazu: http, userinfo, mezinárodní hostitel, IP adresa nebo nestandardní port. |
| signals | array<string (enum, 10)> | Signály pravidel, které se shodovaly. |
| attention | boolean | Zda si obsah zaslouží bližší pohled. |
