Salt la conținut

API-ul XGM

Verificările din spatele instrumentelor XGM ca API HTTP gratuit, doar pentru citire: JSON pentru scripturi, text simplu pentru terminal și un server MCP pentru asistenți AI. Fără cheie și fără înregistrare.

Start rapid

curl primește un raport text lizibil; cereți JSON cu un antet Accept sau cu ?format=json.

Terminal
curl https://xgm.ro/api/v1/email-security/example.com

curl -H 'Accept: application/json' https://xgm.ro/api/v1/dns/example.com

Schema completă se află la /api/v1/openapi.json (OpenAPI 3.1): importați-o în Postman, Insomnia sau într-un generator de clienți.

Endpointuri

Toate endpointurile sunt GET. Sunt acceptate doar domenii publice și adrese IP: țintele private, interne și rezervate returnează 400.

EndpointReturneazăLimită de ratăInstrument MCP
/api/v1/email-security/{domain}
Încearcă example.com
SPF (arborele de include, numărul de interogări DNS față de limita de 10), DMARC (politica, pct, adresele de raportare și autorizarea lor), DKIM (24 de selectoare integrate plus ?selector=, cu tipul, dimensiunea și flagurile cheii), MTA-STS (fișierul de politică descărcat și analizat), TLS-RPT și BIMI (certificatul de marcă citit). Constatările și corecțiile DNS acoperă SPF și DMARC. Instrumentul Securitatea e-mailului20/mindmarc_check, spf_check
/api/v1/dns/{domain}
Încearcă example.com
Înregistrările A, AAAA, MX, NS, TXT și CNAME și ce interogări au eșuat. Instrumentul Căutare DNS30/mindns_lookup
/api/v1/ssl/{domain}
Încearcă example.com
Scanarea completă: nota de la A+ la F cu motivele ei, certificatul (emitent, subiect, SAN, expirare, număr de serie, amprentă SHA-256), algoritmul cheii și al semnăturii, câte un handshake pentru fiecare versiune TLS, patru familii de cifruri slabe, OCSP stapling, HSTS și starea preload. Instrumentul Verificator TLS12/minssl_check
/api/v1/http-headers/{domain}
Încearcă example.com
Antetele de răspuns ale https://<domain> și ce antete de securitate sunt prezente. Instrumentul Antete HTTP20/minhttp_headers_check
/api/v1/redirect/{domain}
Încearcă example.com
Toate cele patru URL-uri de intrare (http și https, cu și fără www) sunt urmărite în paralel: fiecare salt cu statusul, Location, tipul (3xx sau meta refresh), durata și antetele SEO, detectarea buclelor și a limitei de salturi, plus destinația canonică asupra căreia variantele sunt de acord. Instrumentul Verificator de redirecționări20/minredirect_check
/api/v1/whois/{domain}
Încearcă example.com
Registrar, date, stare, servere de nume și contact pentru abuz din registru (mai întâi RDAP, apoi WHOIS). Instrumentul Căutare WHOIS20/minwhois_lookup
/api/v1/blacklist/{target}
Încearcă 127.0.0.2
O adresă IPv4 pe 58 de liste negre DNS sau un domeniu cu adresele sale A și MX plus 19 liste de domenii; refuzurile sunt raportate separat. Instrumentul Verificare liste negre20/minblacklist_check
/api/v1/ip/{ip}
Încearcă 8.8.8.8
DNS invers, domeniu de utilizare, rețea (ASN) și locație aproximativă (ipwho.is prin serverul XGM). Instrumentul Informații IP30/minip_lookup
/api/v1/ping/{host}
Încearcă github.com
Zece cereri ICMP echo de la serverul XGM: pierderea de pachete, timpul dus-întors min/avg/max, jitterul și ieșirea brută. O singură locație de sondare; revine la TCP 443/80 acolo unde ICMP nu este disponibil. Instrumentul Ping și traceroute12/min
/api/v1/port-check/{host}
Încearcă scanme.nmap.org
Conectare TCP la fiecare port al unei gazde publice: deschis, închis sau filtrat, latența și bannerul. ?ports=80,443,8000-8005 (implicit 80,443,8080,8443; cel mult 200). Instrumentul Scanner de porturi12/min

Endpointuri redenumite

Când instrumentele XGM au fost consolidate, trei endpointuri au primit nume noi. Cele vechi funcționează încă o versiune de API și răspund cu un antet Deprecation: true și un antet Link care indică noul endpoint.

Endpoint vechiFolosiți în schimbDiferență
/api/v1/dmarc/{domain}/api/v1/email-security/{domain}Partea DMARC a verificării de securitate a e-mailului.
/api/v1/spf/{domain}/api/v1/email-security/{domain}Partea SPF a verificării de securitate a e-mailului.
/api/v1/redirects/{domain}/api/v1/redirect/{domain}Același răspuns ca /redirect.

Răspunsuri și erori

Email Security returnează aceleași constatări SPF și DMARC ca site-ul: severity este critical, warning, info sau passed, sortate de la cele mai grave, iar multe constatări au o remediere fix care poate fi copiată. Celelalte endpointuri returnează date structurate.

GET /api/v1/email-security/example.com (prescurtat)
{
  "api_version": "1",
  "tool": "email-security",
  "target": "example.com",
  "checked_at": "2026-09-15T08:00:00+00:00",
  "web_url": "https://xgm.ro/tools/email-security?d=example.com",
  "verdict": "SPF: SPF is valid; DMARC: Monitoring only (p=none)",
  "tone": "warning",
  "findings": [
    {
      "id": "dmarc-p-none",
      "severity": "warning",
      "title": "DMARC: Policy is p=none (monitoring only)",
      "explanation": "Receivers deliver mail that fails DMARC as usual. …",
      "fix": { "label": "Next step: quarantine", "code": "_dmarc.example.com. IN TXT \"v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com\"" },
      "learn_more": { "href": "/guides/email-security", "label": "Read the Email Security guide" }
    }
  ],
  "spf": { "verdict": "SPF is valid", "record": "v=spf1 include:_spf.example.net -all", "lookups": 3, "…": "…" },
  "dmarc": { "verdict": "Monitoring only (p=none)", "policy": "none", "record": "v=DMARC1; p=none; rua=mailto:dmarc@example.com", "…": "…" }
}

Coduri de eroare

400Date introduse invalide sau țintă refuzată (adresă privată, nume intern, IP acolo unde se așteaptă un domeniu).
422Parametru de interogare invalid, de exemplu format=xml.
429Limita de rată a fost atinsă. Așteptați numărul de secunde din antetul Retry-After.
502Verificarea în amonte a eșuat (de exemplu serverul WHOIS nu a răspuns).

Limite de rată și utilizare corectă

Fiecare client poate face 30 de cereri API pe minut. O verificare plătește și limita pe care instrumentul ei o are pe site: 20 pe minut pentru verificările de antete, redirecționări, WHOIS, liste negre și e-mail și 12 pe minut pentru cele de rețea, inclusiv scanarea TLS. Tabelul de mai sus arată limita care se aplică pentru fiecare endpoint. API-ul este gândit pentru verificări ocazionale din scripturi și pentru monitorizarea propriilor domenii, nu pentru scanare în masă. Rezultatele nu sunt păstrate în cache: fiecare cerere rulează o verificare nouă.

Confidențialitate

Cererile API sunt tratate ca verificările din instrumentele site-ului: ținta este folosită pentru a rula verificarea și nu este salvată împreună cu rezultatul. Ca orice cerere, poate apărea în jurnale de server de scurtă durată, iar adresa dumneavoastră este păstrată în memorie pentru limitarea ratei. Vedeți politica de confidențialitate.

Server MCP pentru asistenți AI

Serverul MCP XGM îi permite lui Claude și altor clienți MCP să ruleze aceste verificări ca instrumente (dmarc_check, spf_check, dns_lookup și încă șase). Este un singur fișier Python fără dependențe care apelează acest API, așa că se aplică aceleași limite și verificări ale țintei.

  1. Descărcați xgm_mcp.py (Python 3.9 sau mai nou).
  2. Adăugați-l în Claude Code:
Claude Code
claude mcp add xgm -- python3 /path/to/xgm_mcp.py

Pentru alți clienți, folosiți această configurație stdio:

Configurația clientului MCP
{
  "mcpServers": {
    "xgm": { "command": "python3", "args": ["/path/to/xgm_mcp.py"] }
  }
}

Apoi cereți-i, de exemplu: „Verifică configurarea DMARC și SPF pentru example.com și spune-mi ce trebuie remediat.”