Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
46
A2A A2A 0.3.0 v3.126.0

DiffiCat

difficat.com · DiffiCat

Compares a website against another copy of it on page existence, content and visual regression, page by page with screenshots of the changed regions: a migration, redesign, relaunch, staging-versus-production or new-host check. Free up to 40 comparison pages, 5 page discoveries and 5 screenshots a day per client address with no key or account; beyond that a prepaid key, a Pro account key or an HTTP 402 payment in USDC on Base.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain difficat.com via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership

Compare public evidence

🔔 Watch this agent. Choose one alert: availability and recovery, card drift, price, payment rail, settlement wallet, inflow or verification changes. Add more alert types from your account. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
46/100
grade D · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
Observed inflow · 30d
—
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
stable
1 snapshot tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

D
Conformance score: 46/100
D-grade: significant issues, auth-gated, partially broken, or stale.
click to expand breakdown click to collapse breakdown
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
partial Live JSON-RPC 10/25
Card declares only gRPC / HTTP+JSON interfaces; the live probe covers JSON-RPC, so the endpoint was not exercised. Not a defect in the card.
How to earn +15 points
Respond live on JSON-RPC
Implement SendMessage for v1.0 (or message/send for v0.x), negotiate A2A-Version, and return a schema-valid JSON-RPC response. Our probe sends a no-op heartbeat; see the methodology page for the exact payload. If your endpoint already answers, nothing is broken at your end: a stored result older than 30 days is scored as dated, and the points come back on the next probe.
Docs
partial Protocol version 5/10
Declares pre-1.0 A2A 0.3.0 (Google preview). Upgrade to v1.x for full points.
How to earn +5 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` (Major.Minor, no patch number — §3.6) to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
pass Skill declaration 10/10
Declares 4 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: DiffiCat (https://difficat.com). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs
pass Freshness + modern flags 4/5
seen in upstream source within 0d
partial Security declaration 2/5
Declares 1 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

1 snapshot Every change to agent-card.json
Agent card snapshots
Captured Hash Snapshot
2026-10-24 04:23:11 current bf2b96e9e7d2… view →
Uptime
accumulating
1 direct probes · 30d
Response
87ms
last direct probe
Skills
4
declared
Streaming
—
SSE-capable

Skills · 4 declared by this agent

These skills are declared by the agent. A taxonomy link appears only when we can classify a skill confidently.

Discover pages

Lists the pages of a site and the matching page on the other copy, from the sitemap and a crawl.

canonical Web Scraping and Extraction match 89%
sitemapcrawlurl-mapping
Capture screenshot

Takes a full-page screenshot of one URL at a chosen viewport.

canonical Webpage Screenshot Capture match 93%
screenshotcapture
Compare two sites

Runs a page-by-page comparison of two origins or a list of page pairs: existence, content and visual diff, with a per-page report and diff images.

No taxonomy category yet
migrationvisual-regressioncontent-diffqa
Compare against a snapshot

Compares a live site, or another snapshot, against a snapshot captured earlier.

No taxonomy category yet
snapshotbaselineregression

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-10-24 04:23:11 200 — 87ms

Cheaper or better alternatives per-skill

↑ 2 higher quality

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

app.difficat.com
Captures a full-page screenshot of one public web page in Chromium and returns a link to the PNG. Use it for a one-off visual check of a pag
app.difficat.com · q 65%
Diffbot
Web data extraction — articles, products, discussions, images, videos, and auto-detect.
Diffbot · q 65%
agent-web live
Charter-clean web toolkit for agents: give it one publicly reachable URL, get back clean, LLM-ready markdown (free), or a screenshot/PDF via
FOOM — foomworks · q 100%
Agent Screenshot Hub
Pay-per-call page rendering: URL in, image out — or URL in, whole page out.
Die Netzhandwerker · q 78%
Agent Screenshot Hub
Pay-per-call page rendering: URL in, image out — or URL in, whole page out.
Die Netzhandwerker · q 78%
QuoteProof
Pay-per-call checks an agent runs before it quotes, cites or shares a web page: quote verification, clean page fetch, link and package check
QuoteProof · q 73%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/difficat.com.svg)](https://agenstry.com/agents/difficat.com)
[![Verified Business](https://agenstry.com/badge/difficat.com/identity.svg)](https://agenstry.com/agents/difficat.com)
[![Uptime](https://agenstry.com/badge/difficat.com/uptime.svg)](https://agenstry.com/agents/difficat.com)
[![A2A version](https://agenstry.com/badge/difficat.com/protocol.svg)](https://agenstry.com/agents/difficat.com)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "protocolVersion": "0.3.0",
  "name": "DiffiCat",
  "description": "Compares a website against another copy of it on page existence, content and visual regression, page by page with screenshots of the changed regions: a migration, redesign, relaunch, staging-versus-production or new-host check. Free up to 40 comparison pages, 5 page discoveries and 5 screenshots a day per client address with no key or account; beyond that a prepaid key, a Pro account key or an HTTP 402 payment in USDC on Base.",
  "url": "https://app.difficat.com/mcp",
  "preferredTransport": "MCP",
  "provider": {
    "organization": "DiffiCat",
    "url": "https://difficat.com"
  },
  "version": "3.126.0",
  "documentationUrl": "https://difficat.com/agents",
  "iconUrl": "https://difficat.com/assets/favicon.ico",
  "capabilities": {
    "streaming": false,
    "pushNotifications": true,
    "stateTransitionHistory": false
  },
  "securitySchemes": {
    "prepaidKey": {
      "type": "http",
      "scheme": "bearer",
      "description": "A prepaid key (dck_\u2026) a human funds by card, or a Pro account key. Not needed within the free allowance."
    }
  },
  "security": [],
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain",
    "image/png"
  ],
  "skills": [
    {
      "id": "discover_pages",
      "name": "Discover pages",
      "description": "Lists the pages of a site and the matching page on the other copy, from the sitemap and a crawl.",
      "tags": [
        "sitemap",
        "crawl",
        "url-mapping"
      ]
    },
    {
      "id": "capture_screenshot",
      "name": "Capture screenshot",
      "description": "Takes a full-page screenshot of one URL at a chosen viewport.",
      "tags": [
        "screenshot",
        "capture"
      ]
    },
    {
      "id": "start_comparison",
      "name": "Compare two sites",
      "description": "Runs a page-by-page comparison of two origins or a list of page pairs: existence, content and visual diff, with a per-page report and diff images.",
      "tags": [
        "migration",
        "visual-regression",
        "content-diff",
        "qa"
      ],
      "examples": [
        "Did anything break or change on staging compared with production?"
      ]
    },
    {
      "id": "compare_snapshot",
      "name": "Compare against a snapshot",
      "description": "Compares a live site, or another snapshot, against a snapshot captured earlier.",
      "tags": [
        "snapshot",
        "baseline",
        "regression"
      ]
    }
  ],
  "additionalInterfaces": [
    {
      "url": "https://app.difficat.com/api/v1",
      "transport": "REST",
      "openapi": "https://app.difficat.com/api/v1/openapi.json"
    }
  ]
}