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.
curl https://xgm.ro/api/v1/email-security/example.com
curl -H 'Accept: application/json' https://xgm.ro/api/v1/dns/example.comSchema 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.
| Endpoint | Returnează | 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-mailului | 20/min | dmarc_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 DNS | 30/min | dns_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 TLS | 12/min | ssl_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 HTTP | 20/min | http_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ări | 20/min | redirect_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 WHOIS | 20/min | whois_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 negre | 20/min | blacklist_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 IP | 30/min | ip_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 traceroute | 12/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 porturi | 12/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 vechi | Folosiți în schimb | Diferență |
|---|---|---|
/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.
{
"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
| 400 | Date introduse invalide sau țintă refuzată (adresă privată, nume intern, IP acolo unde se așteaptă un domeniu). |
|---|---|
| 422 | Parametru de interogare invalid, de exemplu format=xml. |
| 429 | Limita de rată a fost atinsă. Așteptați numărul de secunde din antetul Retry-After. |
| 502 | Verificarea î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
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.
- Descărcați xgm_mcp.py (Python 3.9 sau mai nou).
- Adăugați-l în Claude Code:
claude mcp add xgm -- python3 /path/to/xgm_mcp.pyPentru alți clienți, folosiți această configurație stdio:
{
"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.”