Sur cette page

Liens, sites et e-mails

Ce QR code est-il sûr ?

API · Pro

Couverture: Lit les QR codes de tous les pays : liens, numéros de téléphone, SMS, e-mails, réseaux Wi-Fi, contacts, événements, lieux, cryptomonnaies et paiements (virements SEPA, QR-factures suisses, UPI, Pix, PromptPay, PayNow, QRIS, DuitNow, FPS et autres codes EMV). Les liens sont vérifiés avec les règles de NoCall pour cette édition et les numéros de téléphone d’après les plans de numérotation publiés.

Ouvrir l’outil
Sur cette page

Objectif

Choisissez une photo ou une capture d’écran d’un QR code et découvrez ce qu’il fait vraiment : ouvrir un site, passer un appel, envoyer un SMS, rejoindre un réseau Wi-Fi ou préparer un paiement, avant de le scanner avec votre téléphone.

Prérequis

Tout le monde peut lire ces guides, sans compte. Certains outils nécessitent Pro, comme indiqué dans chaque guide.

De faux QR codes apparaissent sur les horodateurs, dans des courriers, des avis d’amende, des e-mails et sur des affiches. Choisissez une photo ou une capture d’écran du code : nous le lisons dans votre navigateur, sans envoyer l’image, et vous disons ce qu’il fait avant que vous ne l’ouvriez.

Mode d’emploi

  1. Choisir ou prendre une photo

  2. Vous avez déjà le contenu du code ? Collez-le ici

  3. Lisez les champs disponibles avec leurs limites. Un résultat vide ne prouve pas la sécurité et n’identifie personne.

Exemple fictif

Remarque

Exemple inventé, pas une recherche réelle. N’appelez pas et n’ouvrez pas ses liens.

Exemple fictif
https://parking.example/pay

Interpréter le résultat

Ne l’ouvrez pas: Le code présente des signes d’arnaque. Si vous l’avez trouvé sur un horodateur, dans un courrier ou sur une affiche, payez ou connectez-vous depuis l’application ou le site officiel, en tapant vous-même l’adresse.

Vérifiez avant de confirmer quoi que ce soit: Nous ne voyons pas d’arnaque évidente, mais le code fait quelque chose qui mérite d’être vérifié avant de le confirmer sur votre téléphone.

Aucun signe de danger: Cela ne garantit pas qu’il soit authentique. Vérifiez que l’adresse ou la destination correspond à ce que vous attendez avant de confirmer quoi que ce soit.

Limites

Attention

Le code est lu et vérifié dans votre navigateur : l’image n’est jamais envoyée. S’il contient des numéros de téléphone, seuls ces numéros sont consultés sur le serveur de NoCall pour connaître leur type, et ils ne sont pas enregistrés.

Nous n’ouvrons jamais le lien : nous le vérifions seulement.

Résoudre un problème

Nous n’avons trouvé aucun QR code dans l’image. Essayez une photo plus rapprochée, nette et sans reflets.

Impossible d’ouvrir l’image. Essayez une photo au format JPG ou PNG.

Le contenu du code est trop long pour être vérifié.

Utiliser avec l’API

Attention

Nécessite une API key et des crédits. Chaque appel abouti coûte 1 crédit, même sans données. Un compte Pro actif inclut 20 crédits par mois calendaire UTC, partagés entre toutes les routes de l’API et consommés en premier ; les crédits mensuels non utilisés ne sont pas reportés. Les crédits achetés sur la page de votre compte fonctionnent sans Pro et n’expirent jamais.

Remarque

Les erreurs ne sont jamais facturées : 401 invalid_api_key (clé absente ou invalide), 403 pro_required (ni crédits Pro ni crédits achetés), 422 entrée invalide, 429 quota_exceeded (plus de crédits), rate_limit_exceeded ou ai_busy (l’IA de sms-check est à pleine capacité), 503 tool_warming (les données sont encore en préparation) ou tool ou fournisseur indisponible. Après un 429 ou un 503, réessayez une fois écoulées les secondes indiquées dans l’en-tête Retry-After.

Ce que fait vraiment un QR code décodé : ouvre un lien (vérifié avec les règles du pays), appelle un numéro ou lui envoie un SMS, rédige un e-mail, rejoint un Wi-Fi, enregistre un contact ou demande un paiement (SEPA, QR-facture suisse, UPI, Pix et autres codes EMVCo, avec contrôle de l’IBAN et de la somme de contrôle) ou des cryptomonnaies. Le lien n’est jamais ouvert.

Envoyez le corps JSON à la route propre au tool, ou à POST /v2/tools en ajoutant le champ tool. Les deux routes renvoient le même résultat.

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"}

Paramètres

NomTypeObligatoireDescription
payloadstring (1–4296)OuiLe texte décodé du QR code, jusqu’à 4296 caractères. Décodez l’image de votre côté.
countrystring (enum, 55)Non (par défaut: "ES")Pays dont le jeu de règles SMS est utilisé.
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"}'

Exemple de réponse (200)

Il s’agit de l’exemple documenté dans la référence de l’API. Les recherches utilisent un numéro fictif ; les agrégats et les réponses de l’IA montrent la structure du résultat, pas des données réelles.

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
    }
  }
}

Champs du résultat (data.result)

ChampTypeDescription
payloadobjectCe que fait le code : son type (url, phone, sms, email, wifi, contact, event, geo, payment, crypto, other_link ou text) et les champs de ce type. Un mot de passe Wi-Fi n’est jamais renvoyé.
signalsarray<string (enum, 26)>Les signaux propres au code (payment_request, crypto_request, open_wifi, call_forwarding, premium_number…) ainsi que ceux des règles de liens et de texte.
attentionbooleanIndique si le contenu mérite un examen plus attentif.
hostsarray<string>Noms d’hôte trouvés dans le texte.
linkFlagsarray<"http" | "userinfo" | "internationalHost" | "ipAddress" | "nonStandardPort">Alertes structurelles sur le lien : http, userinfo, hôte internationalisé, adresse IP ou port non standard.
linkobject | nullLe lien inspecté d’un code url (hôte, hôte ASCII, officiel, marque et port), ou null.
numbersarray<object>Les numéros que le code appelle, auxquels il envoie un SMS, qu’il liste ou vers lesquels il renvoie les appels, avec leur catégorie et leur risque premium-rate.

Questions fréquentes

Qu’est-ce que le quishing ?

C’est du phishing par QR code : un faux code est collé sur le vrai, sur un horodateur ou une borne de recharge, ou envoyé dans un courrier ou un e-mail, pour vous mener vers un site qui vole vos données ou vers un paiement que vous ne devriez pas faire.

Puis-je recevoir de l’argent en scannant un QR code ?

Non. Un code de paiement (virement bancaire, UPI, Pix ou autres) sert toujours à payer. Si quelqu’un vous demande de scanner un code pour « recevoir » un remboursement ou un gain, c’est une arnaque.

Est-il dangereux de simplement scanner un code ?

Scanner ne fait que lire le texte : le danger survient quand vous ouvrez le lien, rejoignez le Wi-Fi ou confirmez le paiement. C’est pourquoi il vaut la peine de vérifier d’abord, ici ou en lisant l’adresse que votre appareil photo affiche avant d’appuyer dessus.