In questa pagina
NoCall

Link, siti ed email

Questo codice QR è sicuro?

API · Pro

Copertura: Legge codici QR di qualsiasi paese: link, numeri di telefono, SMS, email, reti Wi-Fi, contatti, eventi, luoghi, criptovalute e pagamenti (bonifici SEPA, QR-fatture svizzere, UPI, Pix, PromptPay, PayNow, QRIS, DuitNow, FPS e altri codici EMV). I link vengono controllati con le regole di NoCall per questa edizione e i numeri di telefono con i piani di numerazione pubblicati.

Apri lo strumento
In questa pagina

A cosa serve

Scegli una foto o uno screenshot di un codice QR e scopri cosa fa davvero: aprire un sito, fare una chiamata, inviare un SMS, collegarti a una rete Wi-Fi o preparare un pagamento, prima di inquadrarlo con il telefono.

Requisiti

Chiunque può leggere queste guide, senza account. Alcuni strumenti richiedono Pro, come indicato in ogni guida.

I codici QR falsi compaiono su parcometri, lettere, multe, email e manifesti. Scegli una foto o uno screenshot del codice: lo leggiamo nel tuo browser, senza caricare l’immagine, e ti diciamo cosa fa prima che tu lo apra.

Come usarlo

  1. Scegli o scatta una foto

  2. Hai già il contenuto del codice? Incollalo qui

  3. Leggi i campi disponibili insieme ai loro limiti. Un risultato vuoto non dimostra sicurezza e non identifica una persona.

Esempio inventato

Nota

Esempio inventato, non una ricerca reale. Non chiamare e non aprire i suoi link.

Esempio inventato
https://parking.example/pay

Interpretare il risultato

Non aprirlo: Il codice mostra segnali di truffa. Se l’hai trovato su un parcometro, in una lettera o su un manifesto, paga o accedi dall’app o dal sito ufficiale, scrivendo tu l’indirizzo.

Controlla prima di confermare qualsiasi cosa: Non vediamo una truffa evidente, ma il codice fa qualcosa che conviene verificare prima di confermarlo sul telefono.

Nessun segnale di pericolo: Questo non garantisce che sia autentico. Controlla che l’indirizzo o la destinazione siano quelli che ti aspetti prima di confermare qualsiasi cosa.

Limiti

Attenzione

Il codice viene letto e controllato nel tuo browser: l’immagine non viene mai caricata. Se contiene numeri di telefono, solo quei numeri vengono consultati sul server di NoCall per sapere di che tipo sono, e non vengono salvati.

Non apriamo mai il link: lo controlliamo soltanto.

Risoluzione dei problemi

Non abbiamo trovato un codice QR nell’immagine. Prova con una foto più ravvicinata, a fuoco e senza riflessi.

Non è stato possibile aprire l’immagine. Prova con una foto in formato JPG o PNG.

Il contenuto del codice è troppo lungo per controllarlo.

Usare con l’API

Attenzione

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.

Nota

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.

Cosa fa davvero un codice QR decodificato: apre un link (controllato con le regole del paese), chiama o scrive a un numero, compone un’email, si collega a un Wi-Fi, salva un contatto o chiede un pagamento (SEPA, QR-fattura svizzera, UPI, Pix e altri codici EMVCo, con controllo dell’IBAN e del checksum) o in criptovalute. Il link non viene mai aperto.

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.

Endpoint
POST https://api.nocall.io/v2/qr-check
POST https://api.nocall.io/v2/tools  {"tool":"qr-check","payload":"BCD\n002\n1\nSCT\n\nAparcamientos Ejemplo SL\nES9121000418450200051332\nEUR49.90\n\n\nMulta de aparcamiento 4471","country":"ES"}

Parametri

NomeTipoObbligatorioDescrizione
payloadstring (1–4296)SìIl testo decodificato del codice QR, fino a 4296 caratteri. Decodifica l’immagine dal tuo lato.
countrystring (enum, 55)No (predefinito: "ES")Paese di cui si usa il set di regole SMS.
bash
REQUEST_ID="$(uuidgen)" && [ -n "$REQUEST_ID" ] &&
curl --request POST 'https://api.nocall.io/v2/qr-check' \
  --header "Authorization: Bearer $NOCALL_API_KEY" \
  --header 'Content-Type: application/json' \
  --header "Idempotency-Key: $REQUEST_ID" \
  --data '{"payload":"BCD\n002\n1\nSCT\n\nAparcamientos Ejemplo SL\nES9121000418450200051332\nEUR49.90\n\n\nMulta de aparcamiento 4471","country":"ES"}'

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.

JSON
{
  "data": {
    "tool": "qr-check",
    "result": {
      "payload": {
        "type": "payment",
        "scheme": "epc",
        "payee": "Aparcamientos Ejemplo SL",
        "account": "ES9121000418450200051332",
        "accountValid": true,
        "amount": "49.90",
        "currency": "EUR",
        "reference": "Multa de aparcamiento 4471",
        "country": "ES",
        "city": null,
        "crcValid": null
      },
      "signals": [
        "payment_request",
        "amount_prefilled"
      ],
      "attention": true,
      "hosts": [],
      "linkFlags": [],
      "link": null,
      "numbers": []
    }
  },
  "meta": {
    "requestId": "req_example",
    "unitsCharged": 1,
    "usage": {
      "periodStart": "2026-10-01",
      "unitLimit": 20,
      "unitsUsed": 3,
      "unitsRemaining": 17
    }
  }
}

Campi del risultato (data.result)

CampoTipoDescrizione
payloadobjectCosa fa il codice: il suo tipo (url, phone, sms, email, wifi, contact, event, geo, payment, crypto, other_link o text) e i campi di quel tipo. La password di un Wi-Fi non viene mai restituita.
signalsarray<string (enum, 26)>I segnali propri del codice (payment_request, crypto_request, open_wifi, call_forwarding, premium_number…) più quelli delle regole sui link e sui testi.
attentionbooleanSe il contenuto merita un controllo più attento.
hostsarray<string>Nomi host trovati nel testo.
linkFlagsarray<"http" | "userinfo" | "internationalHost" | "ipAddress" | "nonStandardPort">Avvisi strutturali sul link: http, userinfo, host internazionale, indirizzo IP o porta non standard.
linkobject | nullIl link analizzato di un codice url (host, host ASCII, ufficiale, marchio e porta), o null.
numbersarray<object>I numeri che il codice chiama, a cui scrive, che elenca o verso cui trasferisce le chiamate, con la loro categoria e il loro rischio di premium-rate.

Domande frequenti

Cos’è il quishing?

È il phishing con i codici QR: un codice falso viene incollato sopra quello vero su un parcometro o una colonnina di ricarica, oppure inviato in una lettera o in un’email, per portarti su un sito che ruba i tuoi dati o verso un pagamento che non dovresti fare.

Posso ricevere denaro inquadrando un codice QR?

No. Un codice di pagamento (un bonifico, UPI, Pix o altri) serve sempre a pagare. Se qualcuno ti chiede di inquadrare un codice per «ricevere» un rimborso o un premio, è una truffa.

È pericoloso anche solo inquadrare un codice?

Inquadrarlo legge soltanto il testo: il pericolo arriva quando apri il link, ti colleghi al Wi-Fi o confermi il pagamento. Per questo conviene controllarlo prima, qui o leggendo l’indirizzo che mostra la fotocamera prima di toccarlo.