Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
76
A2A v1.0.0

URL Metadata API

url-metadata-api-325572559480.us-central1.run.app · nexus-mcp-infra

Given a URL, returns title/description/preview-image/site_name scraped from its OpenGraph and meta tags.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain url-metadata-api-325572559480.us-central1.run.app 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
🔔 Watch this agent. Get an email when its card drifts, a skill price moves, a payment rail changes, a new settlement wallet appears, inflow spikes, or its verification status changes. 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
25/100
grade F · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
~149 ms response
Observed inflow · 30d
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
changed
1 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

F
Conformance score: 25/100
F-grade: card is reachable but fails most operational signals.
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).
fail Live JSON-RPC 0/25
Card declares a URL but that URL returns 404.
How to earn +25 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 →
fail Protocol version 0/10
No protocolVersion in card.
How to earn +10 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` 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.
partial Skill declaration 6/10
Declares 1 skill, usable but thin.
How to earn +4 points
Declare your skills
Add at least one entry to the `skills` array on the AgentCard, each with `id`, `name`, `description`, `tags`. We canonicalise these into the global skill taxonomy on next probe.
Docs →
partial Verified Identity 5/10
Provider declared: nexus-mcp-infra (https://github.com/nexus-mcp-infra). 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
info Security declaration 0/5
Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated.
⚠ Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

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
Captured Hash
2026-08-23 00:46:27 current 0d2034d5e04f… view →
Uptime
100.0%
1 direct probes · 30d
Response
149ms
last direct probe
Skills
1
declared
Streaming
SSE-capable

Skills · 1 declared · mapped to canonical taxonomy

Extract URL Metadata

Fetch a URL and return its title, description, preview image, and site name from OpenGraph/meta tags.

canonical Web Scraping and Extraction match 87%
urlmetadatalink-previewopengraph

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-08-23 00:46:27 200 149ms

Cheaper or better alternatives per-skill

↑ 1 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

ai-agent-hub-1.onrender.com
Fetch a URL and extract structured data (title, links, images, or metadata)
ai-agent-hub-1.onrender.com · q 65%
x402-portfolio.x402iom.workers.dev
Fetch a web page and return structured content: title, meta/OpenGraph, canonical, headings, links, readable text (boilerplate stripped).
x402-portfolio.x402iom.workers.dev · q 65%
GPUOps Web Scraper
Web scraping API. Fetch any URL extract clean text metadata and structured data. Pay-per-call with USDC on Base via x402.
scrape.gpuops.io · q 65%
agentapis.top
Extract a structured company profile from a public URL
agentapis.top · q 0%
seller.toolsplane.com
Fetch a public URL and return a compact, normalized page profile with title, description, canonical URL, preview image, Open Graph coverage,
seller.toolsplane.com · q 0%
extract.dkta.dev
Extract clean markdown from any URL
extract.dkta.dev · q 0%

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
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/url-metadata-api-325572559480.us-central1.run.app.svg)](https://agenstry.com/agents/url-metadata-api-325572559480.us-central1.run.app)
[![Verified Business](https://agenstry.com/badge/url-metadata-api-325572559480.us-central1.run.app/identity.svg)](https://agenstry.com/agents/url-metadata-api-325572559480.us-central1.run.app)
[![Uptime](https://agenstry.com/badge/url-metadata-api-325572559480.us-central1.run.app/uptime.svg)](https://agenstry.com/agents/url-metadata-api-325572559480.us-central1.run.app)
[![A2A version](https://agenstry.com/badge/url-metadata-api-325572559480.us-central1.run.app/protocol.svg)](https://agenstry.com/agents/url-metadata-api-325572559480.us-central1.run.app)

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
{
  "name": "URL Metadata API",
  "description": "Given a URL, returns title/description/preview-image/site_name scraped from its OpenGraph and meta tags.",
  "url": "https://url-metadata-api-325572559480.us-central1.run.app",
  "version": "1.0.0",
  "documentationUrl": "https://url-metadata-api-325572559480.us-central1.run.app/docs",
  "provider": {
    "organization": "nexus-mcp-infra",
    "url": "https://github.com/nexus-mcp-infra"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "additionalInterfaces": [
    {
      "url": "https://url-metadata-api-325572559480.us-central1.run.app/mcp",
      "transport": "MCP"
    }
  ],
  "skills": [
    {
      "id": "nexus_url_metadata_api_extract_url_metadata",
      "name": "Extract URL Metadata",
      "description": "Fetch a URL and return its title, description, preview image, and site name from OpenGraph/meta tags.",
      "tags": [
        "url",
        "metadata",
        "link-preview",
        "opengraph"
      ]
    }
  ],
  "metadata": {
    "protocol_note": "This service implements the Model Context Protocol (MCP) at /mcp, not A2A's own task methods. POST /extract is charged $0.01 via x402 (Base Sepolia TESTNET, not real funds); the MCP tool is currently free -- see README. Payment settles BEFORE extraction is attempted: a call that fails (400 unresolvable/private URL, 422 non-HTML or too many redirects, 502/504 upstream error) is still charged, same as a 200."
  }
}