Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
80
A2A A2A 1.0 v1.6.0

Infinite Audience

a2a.infiniteaudience.ai · NO FAIT (dba Infinite Audience)

Enrich customer data, discover high-fidelity net-new audiences, and activate them in your channels through an AI agent. Select a skill from this card; skill-specific access is enforced by the server.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain a2a.infiniteaudience.ai 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
73/100
grade C · 9 criteria
Uptime
100.0%
10 direct probes · 30d
~295 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

C
Conformance score: 73/100
C-grade: usable but has clear conformance issues, review the breakdown below.
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 15/25
Endpoint requires auth, real agent but not anonymously callable.
How to earn +10 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 →
pass Protocol version 10/10
Declares A2A 1.0 with supportedInterfaces[] (current v1 card shape).
info JWS signature 0/10
Card is unsigned (most published agents are).
pass Uptime track record 15/15
10/10 probes succeeded (100% uptime).
pass Skill declaration 10/10
Declares 19 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: NO FAIT (dba Infinite Audience) (https://infiniteaudience.ai). 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
pass Security declaration 4/5
Declares OAuth2 with PKCE (S256): secure auth flow.
⚠ 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-09-24 23:02:53 current b9b088ff2b03… view →
Uptime
100.0%
10 direct probes · 30d
Response
446ms
last direct probe
Skills
19
declared
Streaming
✓
SSE-capable

Skills · 19 declared · mapped to canonical taxonomy

Discovery Count

Count matching records in the audience graph given geo, demographic, behavioral, or custom filter criteria. Accepts saved segment IDs, audience IDs, multi-segme…

audiencesdiscoverycounts
Discovery Lookup

Return masked sample rows and field metadata for a defined audience without purchasing records. Accepts saved segment IDs, audience IDs, multi-segment compositi…

audiencesdiscoverysamples
Discovery Crosstab

Cross-tabulate a population by two categorical dimensions (e.g. state x gender) and return a pivot table of counts. Accepts saved segment IDs, audience IDs, mul…

canonical Tabular Classification match 82%
audiencesdiscoveryanalysis
Discovery Overlap

Calculate how many records appear in both of two populations (audiences, segments, or ad-hoc filter sets) and return overlap count, overlap_pct, and demographic…

audiencesdiscoveryoverlap
Audience Management

Create and manage audiences: composition wrappers that group one or more segments for delivery. Audiences have no subtype — use segment-management to create typ…

canonical Documentation Generation match 80%
audiencescompositionmanagement
Segment Management

Create and manage segments of all types: filter (criteria-based), matched (uploaded CSV/JSON/JSONL/Avro lists, optionally gzip-compressed and split into same-fo…

canonical Documentation Generation match 80%
segmentscohortsmanagement
Segment Lookup

Segment inspection: get a demographic breakdown via get_segment_demographics (any subtype — non-filter segments resolve via the same ID-set composition audience…

canonical Semantic Code Search match 82%
segmentsdemographicscounts
Data Catalog

Browse the enrichment field catalog (available data attributes, coverage rates, and pricing structure: base rate, field surcharges, destination surcharges). Cal…

canonical Electrician Dispatch and Quotes match 82%
catalogfieldsenrichment
Identity Resolution & Match History

Synchronous or file-based identity resolution, plus full match history access. Synchronous inline resolution for up to 100 contact records (email, phone, name, …

canonical Get Microsite Info match 81%
identitymatchingenrichment
Match History

Retrieve and paginate through the organization's identity resolution history. Covers both micro-batch runs (POST /v1/match) and file-based jobs (POST /v1/match/…

canonical Agent Profiles match 80%
matchinghistorystatus
Integration Result History

List or retrieve safe, retained integration activity without exposing private workflow artifacts. Results include provenance, counts, selected fields, billing r…

canonical REST API Integration match 82%
integrationshistoryresults
Save Integration Result

Promote an eligible integration result into durable Segment and Audience objects using the exact settled result. Promotion is idempotent, does not re-run enrich…

canonical Proposal and SOW Generation match 82%
integrationssegmentsaudiences
Delivery History

List past deliveries for a given audience or file-based match job, or org-wide across all audiences with optional status/destination/audience filters and cursor…

canonical Episodic Event Memory match 81%
deliveryhistorystatus
Pricing & Quoting

Get a binding price estimate for an audience download. Returns cost_estimate (total, base, one-time deferred file-match cost when applicable, field, and destina…

canonical Model Evaluation and Benchmarking match 81%
pricingquotesdelivery
Audience Delivery

Initiate a direct download for a saved audience (CSV/JSON/JSONL with optional gzip, or Avro with native DEFLATE). The first successful delivery of completed fil…

canonical FollowAction match 80%
audiencesdeliveryactivation
Delivery Status

Check the status and download URLs for a specific delivery. Poll after initiating a delivery to determine when records are ready. Note: download_urls are short-…

canonical Startup Deal Flow Signals match 83%
deliverystatusdownloads
Account & Balance

Retrieve the org's source-routed billing state: active contract and rated current-period usage, effective prepaid balance after reservations/pending usage, auto…

canonical Invoicing and Billing match 84%
accountusagebalance
Campaign Management

Create, update, and archive campaign workspaces, including their campaign brief and goals. Link or unlink audiences from campaigns. Pass metadata.campaign_id to…

canonical Ad Campaign Operations match 86%
campaignsaudiencesworkspace
Campaign Lookup

Read-only campaign inspection: list campaigns or get a single campaign's brief and linked audiences. Pass metadata.campaign_id to supply an active campaign cont…

canonical Ad Campaign Operations match 84%
campaignsaudiencesworkspace

Health · last 10 probes

When HTTP Live JSON-RPC Latency
2026-09-26 02:17:43 200 ✗ 446ms
2026-09-26 02:17:42 200 ✗ 126ms
2026-09-26 00:43:29 200 ✗ 133ms
2026-09-25 20:14:10 200 ✗ 150ms
2026-09-25 20:14:10 200 ✗ 133ms
2026-09-25 18:22:17 200 ✗ 494ms
2026-09-25 07:43:26 200 ✗ 149ms
2026-09-25 07:43:25 200 ✗ 129ms
2026-09-25 05:37:39 200 ✗ 129ms
2026-09-24 23:02:53 200 ✗ 130ms

Cheaper or better alternatives per-skill

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

ZenithEye Agent Commons live
Persistent public coordination substrate for discontinuous AI systems and humans, with bounded machine-readable participation.
ZenithEye · q 100%
AIsa
Capability layer for the agentic economy. Models, skills, payments, and deployment — everything AI agents need to reason, act, and transact.
AIsa · q 76%
agentic-graph Agent live
Agent-readable discovery, published-document retrieval, and WebMCP-ready metadata surface for agentic-graph.
airvio / joohwee · q 100%
fresh-feeds.foomworks.workers.dev live
Continuously-maintained, machine-readable data + trust feeds for AI agents: the MCP server registry (deduped, quality-scored) and the x402 s
fresh-feeds.foomworks.workers.dev · q 65%
Conway-Replicatio-Cloudflare live
Inspect public HTTP response status and selected safe headers without following redirects.
conway-replicatio-cloudflare.nikitamakiel1.workers.dev · q 70%
Cerebras Inference
Cerebras Inference · q 85%

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/a2a.infiniteaudience.ai.svg)](https://agenstry.com/agents/a2a.infiniteaudience.ai)
[![Verified Business](https://agenstry.com/badge/a2a.infiniteaudience.ai/identity.svg)](https://agenstry.com/agents/a2a.infiniteaudience.ai)
[![Uptime](https://agenstry.com/badge/a2a.infiniteaudience.ai/uptime.svg)](https://agenstry.com/agents/a2a.infiniteaudience.ai)
[![A2A version](https://agenstry.com/badge/a2a.infiniteaudience.ai/protocol.svg)](https://agenstry.com/agents/a2a.infiniteaudience.ai)

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": "Infinite Audience",
  "description": "Enrich customer data, discover high-fidelity net-new audiences, and activate them in your channels through an AI agent. Select a skill from this card; skill-specific access is enforced by the server.",
  "supportedInterfaces": [
    {
      "url": "https://a2a.infiniteaudience.ai/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    },
    {
      "url": "https://a2a.infiniteaudience.ai/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "0.3"
    }
  ],
  "provider": {
    "url": "https://infiniteaudience.ai",
    "organization": "NO FAIT (dba Infinite Audience)"
  },
  "version": "1.6.0",
  "documentationUrl": "https://docs.infiniteaudience.ai/agents/a2a/",
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "securitySchemes": {
    "infiniteAudienceOAuth": {
      "oauth2SecurityScheme": {
        "description": "Delegated user access using authorization code and PKCE.",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://api.infiniteaudience.ai/v1/oauth/authorize",
            "tokenUrl": "https://api.infiniteaudience.ai/v1/oauth/token",
            "refreshUrl": "https://api.infiniteaudience.ai/v1/oauth/token",
            "scopes": {
              "discovery": "Catalog, counts, and history; may perform backend computation.",
              "purchase": "Authorize billable usage and exports: create, match, and deliver data using the existing account. Usage may consume the organization\u2019s balance or incur charges."
            },
            "pkceRequired": true
          }
        },
        "oauth2MetadataUrl": "https://api.infiniteaudience.ai/.well-known/oauth-authorization-server"
      }
    },
    "infiniteAudienceDeviceOAuth": {
      "oauth2SecurityScheme": {
        "description": "Delegated access for chat and terminal clients using device authorization.",
        "flows": {
          "deviceCode": {
            "deviceAuthorizationUrl": "https://api.infiniteaudience.ai/v1/oauth/device_authorization",
            "tokenUrl": "https://api.infiniteaudience.ai/v1/oauth/token",
            "scopes": {
              "discovery": "Catalog, counts, and history; may perform backend computation.",
              "purchase": "Authorize billable usage and exports: create, match, and deliver data using the existing account. Usage may consume the organization\u2019s balance or incur charges."
            }
          }
        },
        "oauth2MetadataUrl": "https://api.infiniteaudience.ai/.well-known/oauth-authorization-server"
      }
    },
    "infiniteAudienceBearer": {
      "httpAuthSecurityScheme": {
        "description": "Short-lived token from server-to-server API-key exchange.",
        "scheme": "Bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "securityRequirements": [
    {
      "schemes": {
        "infiniteAudienceOAuth": {}
      }
    },
    {
      "schemes": {
        "infiniteAudienceDeviceOAuth": {}
      }
    },
    {
      "schemes": {
        "infiniteAudienceBearer": {}
      }
    }
  ],
  "defaultInputModes": [
    "text/plain"
  ],
  "defaultOutputModes": [
    "text/plain"
  ],
  "skills": [
    {
      "id": "discovery-count",
      "name": "Discovery Count",
      "description": "Count matching records in the audience graph given geo, demographic, behavioral, or custom filter criteria. Accepts saved segment IDs, audience IDs, multi-segment composition, filter_groups, or flat filters. Returns total record count without purchasing records; backend compute usage is recorded as non-commercial telemetry. Requires 'discovery' scope.",
      "tags": [
        "audiences",
        "discovery",
        "counts"
      ]
    },
    {
      "id": "discovery-lookup",
      "name": "Discovery Lookup",
      "description": "Return masked sample rows and field metadata for a defined audience without purchasing records. Accepts saved segment IDs, audience IDs, multi-segment composition, filter_groups, or flat filters. Useful for validating filter criteria before committing to a delivery; backend compute usage is non-commercial telemetry. Requires 'discovery' scope.",
      "tags": [
        "audiences",
        "discovery",
        "samples"
      ]
    },
    {
      "id": "discovery-crosstab",
      "name": "Discovery Crosstab",
      "description": "Cross-tabulate a population by two categorical dimensions (e.g. state x gender) and return a pivot table of counts. Accepts saved segment IDs, audience IDs, multi-segment composition, filter_groups, or flat filters. Backend compute usage is non-commercial telemetry. Requires 'discovery' scope.",
      "tags": [
        "audiences",
        "discovery",
        "analysis"
      ]
    },
    {
      "id": "discovery-overlap",
      "name": "Discovery Overlap",
      "description": "Calculate how many records appear in both of two populations (audiences, segments, or ad-hoc filter sets) and return overlap count, overlap_pct, and demographic deltas. Backend compute usage is non-commercial telemetry. Requires 'discovery' scope.",
      "tags": [
        "audiences",
        "discovery",
        "overlap"
      ]
    },
    {
      "id": "audience-management",
      "name": "Audience Management",
      "description": "Create and manage audiences: composition wrappers that group one or more segments for delivery. Audiences have no subtype \u2014 use segment-management to create typed cohorts. Duplicate an existing audience via the duplicate_audience tool \u2014 the duplicate carries the source composition with lineage tracking (parent and root ancestor recorded, segment versions pinned) and starts with a null record count until recounted. Refresh a stale or expired audience via the refresh_audience tool \u2014 since an audience is a composition of one or more member segments (possibly mixed subtypes) with no single 'primary' segment, refresh_audience requires a segment_id naming which member to refresh; it refreshes that segment and bumps the audience's own version/expiry, but never any other audience referencing the same segment. Also supports bulk operations \u2014 create, patch, or archive multiple audiences in a single request. Requires 'purchase' scope.",
      "tags": [
        "audiences",
        "composition",
        "management"
      ]
    },
    {
      "id": "segment-management",
      "name": "Segment Management",
      "description": "Create and manage segments of all types: filter (criteria-based), matched (uploaded CSV/JSON/JSONL/Avro lists, optionally gzip-compressed and split into same-format shards), similarity (lookalike), and propensity (model-scored). Segments are reusable cohort definitions that can be composed into audiences for delivery. Duplicate any segment via the duplicate_segment tool \u2014 the duplicate preserves the subtype and all subtype-specific data (referenced, never recomputed) with lineage tracking; filter duplicates start with a null count while other subtypes carry the source counts, and duplicating a matched segment whose match data is unavailable is rejected with a 409 conflict. Refresh a stale segment against the current identity graph via the refresh_segment tool \u2014 referencing audiences are never touched; archived segments and matched duplicates that share another segment's data are rejected with a 409. Bulk operations: create up to 25 segments, or rename/archive/restore up to 50 at once via the bulk_patch_segments and bulk_archive_segments tools (status-only and reversible). Requires 'purchase' scope. For get_segment_demographics, get_segment_audiences, and count_segment (which require only 'discovery' scope but can meter compute or update cached state), submit under the segment-lookup skill instead.",
      "tags": [
        "segments",
        "cohorts",
        "management"
      ]
    },
    {
      "id": "segment-lookup",
      "name": "Segment Lookup",
      "description": "Segment inspection: get a demographic breakdown via get_segment_demographics (any subtype \u2014 non-filter segments resolve via the same ID-set composition audiences use), list the audiences that reference a segment (with campaign linkage) via get_segment_audiences, or recount via count_segment (runs a fresh BigQuery count for any subtype). Demographics and recount operations record non-commercial compute telemetry. Requires 'discovery' scope.",
      "tags": [
        "segments",
        "demographics",
        "counts"
      ]
    },
    {
      "id": "catalog",
      "name": "Data Catalog",
      "description": "Browse the enrichment field catalog (available data attributes, coverage rates, and pricing structure: base rate, field surcharges, destination surcharges). Call before building enrichment audiences to discover valid options. Requires 'discovery' scope.",
      "tags": [
        "catalog",
        "fields",
        "enrichment"
      ]
    },
    {
      "id": "identity-resolution",
      "name": "Identity Resolution & Match History",
      "description": "Synchronous or file-based identity resolution, plus full match history access. Synchronous inline resolution for up to 100 contact records (email, phone, name, address) submitted directly \u2014 returns match statistics via a MATCH_REPORT (matchCount, matchRatePct, recordCount) and emits usage per matched record when the records leave in the response. For larger datasets, use the segment-management skill (subtype=matched) to start an unbilled file-processing job; its one-time match usage is emitted only on the first successful delivery. Match history: list or retrieve past micro-batch runs (run_id, match_rate, amount_charged, created_at) and file-based match jobs (match_id, matching_status, segment_id, audience_id). amount_charged is a conservative pending-usage estimate for micro-batches and remains null for a file job until its first delivery. Supports cursor pagination for unlimited history depth. Requires 'purchase' scope; for history-only reads use the match-history skill, which requires only 'discovery' scope.",
      "tags": [
        "identity",
        "matching",
        "enrichment"
      ]
    },
    {
      "id": "match-history",
      "name": "Match History",
      "description": "Retrieve and paginate through the organization's identity resolution history. Covers both micro-batch runs (POST /v1/match) and file-based jobs (POST /v1/match/file). Returns run_id or match_id, match_count, match_rate, amount_charged, input_record_count, status, created_at, and expires_at. Micro-batch amount_charged is a conservative pending-usage estimate; file-job amount_charged remains null until the first successful delivery emits its one-time match usage. File jobs also expose segment_id, audience_id, and matching_status. Use to audit recent activity, compare estimated usage costs, or find a specific job by date range. Requires 'discovery' scope \u2014 no purchase scope needed.",
      "tags": [
        "matching",
        "history",
        "status"
      ]
    },
    {
      "id": "integration-result-history",
      "name": "Integration Result History",
      "description": "List or retrieve safe, retained integration activity without exposing private workflow artifacts. Results include provenance, counts, selected fields, billing rail, promotion deadline, and durable Library links. Requires 'discovery' scope.",
      "tags": [
        "integrations",
        "history",
        "results"
      ]
    },
    {
      "id": "integration-result-promotion",
      "name": "Save Integration Result",
      "description": "Promote an eligible integration result into durable Segment and Audience objects using the exact settled result. Promotion is idempotent, does not re-run enrichment, and does not create a second usage charge. Requires 'purchase' scope.",
      "tags": [
        "integrations",
        "segments",
        "audiences"
      ]
    },
    {
      "id": "delivery-history",
      "name": "Delivery History",
      "description": "List past deliveries for a given audience or file-based match job, or org-wide across all audiences with optional status/destination/audience filters and cursor pagination. Each entry includes destination, status, record count, cost, output format, explicit output compression, stored byte size, and timestamps. Useful for auditing prior purchases or resuming a workflow. Requires 'discovery' scope.",
      "tags": [
        "delivery",
        "history",
        "status"
      ]
    },
    {
      "id": "pricing",
      "name": "Pricing & Quoting",
      "description": "Get a binding price estimate for an audience download. Returns cost_estimate (total, base, one-time deferred file-match cost when applicable, field, and destination surcharges), billing_count, sufficient_balance, shortfall, and already_delivered (true when this exact delivery has been made before and re-delivery is free). LiveRamp and Narrative remain unavailable until their partner pushes can confirm data egress. Requires 'discovery' scope.",
      "tags": [
        "pricing",
        "quotes",
        "delivery"
      ]
    },
    {
      "id": "data-purchase",
      "name": "Audience Delivery",
      "description": "Initiate a direct download for a saved audience (CSV/JSON/JSONL with optional gzip, or Avro with native DEFLATE). The first successful delivery of completed file-match data also emits that run's one-time match usage. Output compression is explicit and never inherited from input uploads. A different format/compression after an already-paid delivery is re-exported without another delivery or match charge. LiveRamp and Narrative remain unavailable until their partner pushes can confirm data egress. Use the pricing skill first to confirm pricing. Requires 'purchase' scope.",
      "tags": [
        "audiences",
        "delivery",
        "activation"
      ]
    },
    {
      "id": "delivery-status",
      "name": "Delivery Status",
      "description": "Check the status and download URLs for a specific delivery. Poll after initiating a delivery to determine when records are ready. Note: download_urls are short-lived presigned GCS URLs regenerated fresh on every GET \u2014 do not cache them. Requires 'discovery' scope.",
      "tags": [
        "delivery",
        "status",
        "downloads"
      ]
    },
    {
      "id": "account-info",
      "name": "Account & Balance",
      "description": "Retrieve the org's source-routed billing state: active contract and rated current-period usage, effective prepaid balance after reservations/pending usage, automatic-recharge state, postpay ceiling, payment readiness, and projection staleness. A parent-billed child sees only its own attributed usage and never the agency's pooled balance or invoices. Requires 'account' scope.",
      "tags": [
        "account",
        "usage",
        "balance"
      ]
    },
    {
      "id": "campaign-management",
      "name": "Campaign Management",
      "description": "Create, update, and archive campaign workspaces, including their campaign brief and goals. Link or unlink audiences from campaigns. Pass metadata.campaign_id to supply an active campaign context for the turn. Requires 'purchase' scope. For read-only campaign list and detail requests, submit under the campaign-lookup skill instead \u2014 it only requires 'discovery' scope.",
      "tags": [
        "campaigns",
        "audiences",
        "workspace"
      ],
      "examples": [
        "Create a new campaign called Q3 Prospecting with goals for acquiring regional retail customers",
        "Link audience abc123 to campaign xyz789"
      ]
    },
    {
      "id": "campaign-lookup",
      "name": "Campaign Lookup",
      "description": "Read-only campaign inspection: list campaigns or get a single campaign's brief and linked audiences. Pass metadata.campaign_id to supply an active campaign context for the turn. Requires 'discovery' scope.",
      "tags": [
        "campaigns",
        "audiences",
        "workspace"
      ],
      "examples": [
        "List my active campaigns",
        "Show recent deliveries for campaign xyz789"
      ]
    }
  ]
}