Crawler Summary

apitap answer-first brief

ApiTap — The MCP Server That Turns Any Website Into an API ApiTap — The MCP Server That Turns Any Website Into an API No docs, no SDK, no browser. Just data. What It Does ApiTap gives AI agents cheap access to web data through three layers: 1. **Read** — Decode any URL into structured text without a browser (side-channel APIs, og: tags, HTML extraction). 0-10K tokens vs 50-200K for browser automation. 2. **Replay** — Call captured API endpoints directly. 1-5K tokens per call Published capability contract available. No trust telemetry is available yet. Last updated 2/25/2026.

Freshness

Last checked 2/25/2026

Best For

Contract is available with explicit auth and schema references.

Not Ideal For

apitap is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.

Evidence Sources Checked

editorial-content, capability-contract, runtime-metrics, public facts pack

Claim this agent
Agent DossierGitHubSafety: 89/100

apitap

ApiTap — The MCP Server That Turns Any Website Into an API ApiTap — The MCP Server That Turns Any Website Into an API No docs, no SDK, no browser. Just data. What It Does ApiTap gives AI agents cheap access to web data through three layers: 1. **Read** — Decode any URL into structured text without a browser (side-channel APIs, og: tags, HTML extraction). 0-10K tokens vs 50-200K for browser automation. 2. **Replay** — Call captured API endpoints directly. 1-5K tokens per call

MCPverified

Public facts

5

Change events

0

Artifacts

0

Freshness

Feb 25, 2026

Verifiededitorial-content1 verified compatibility signal

Published capability contract available. No trust telemetry is available yet. Last updated 2/25/2026.

Schema refs publishedTrust evidence available

Trust score

Unknown

Compatibility

MCP

Freshness

Feb 25, 2026

Vendor

Npmjs

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

Summary

Published capability contract available. No trust telemetry is available yet. Last updated 2/25/2026.

Setup snapshot

git clone https://github.com/n1byn1kt/apitap.git
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Npmjs

profilemedium
Observed Feb 25, 2026Source linkProvenance
Compatibility (2)

Protocol compatibility

MCP

contracthigh
Observed Feb 24, 2026Source linkProvenance

Auth modes

mcp, api_key

contracthigh
Observed Feb 24, 2026Source linkProvenance
Artifact (1)

Machine-readable schemas

OpenAPI or schema references published

contracthigh
Observed Feb 24, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB OPENCLEW

Extracted files

0

Examples

6

Snippets

0

Languages

typescript

Parameters

Executable Examples

text

apitap_peek(url: string) → PeekResult

text

apitap_peek("https://www.zillow.com") → { status: 200, recommendation: "read" }
apitap_peek("https://www.doordash.com") → { status: 403, botProtection: "cloudflare", recommendation: "blocked" }

text

apitap_read(url: string, maxBytes?: number) → ReadResult

text

# Reddit — full subreddit listing, ~500 tokens
apitap_read("https://www.reddit.com/r/technology")

# Reddit post with comments
apitap_read("https://www.reddit.com/r/wallstreetbets/comments/abc123/some-post")

# YouTube — 36 tokens
apitap_read("https://www.youtube.com/watch?v=dQw4w9WgXcQ")

# Wikipedia — 116 tokens
apitap_read("https://en.wikipedia.org/wiki/Artificial_intelligence")

# Grokipedia — full article with citations, 6M+ articles
apitap_read("https://grokipedia.com/wiki/SpaceX")

# Grokipedia — search across 6M articles
apitap_read("https://grokipedia.com/search?q=artificial+intelligence")

# Grokipedia — site stats and recent activity
apitap_read("https://grokipedia.com/")

# Twitter/X — full tweet with engagement, articles, quotes
apitap_read("https://x.com/elonmusk/status/123456789")

# Twitter/X article (long-form post) — full text extracted
apitap_read("https://twitter.com/writer/status/987654321")

# Any article/blog/news — generic extraction
apitap_read("https://example.com/blog/some-article")

# Zillow listing (bypasses PerimeterX via og: tags)
apitap_read("https://www.zillow.com/homedetails/123-Main-St/12345_zpid/")

text

apitap_search(query: string) → { found, results[] }

text

apitap_replay(domain: string, endpointId: string, endpointParams?: object, maxBytes?: number) → ReplayResult

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB OPENCLEW

Docs source

GITHUB OPENCLEW

Editorial quality

ready

ApiTap — The MCP Server That Turns Any Website Into an API ApiTap — The MCP Server That Turns Any Website Into an API No docs, no SDK, no browser. Just data. What It Does ApiTap gives AI agents cheap access to web data through three layers: 1. **Read** — Decode any URL into structured text without a browser (side-channel APIs, og: tags, HTML extraction). 0-10K tokens vs 50-200K for browser automation. 2. **Replay** — Call captured API endpoints directly. 1-5K tokens per call

Full README

ApiTap — The MCP Server That Turns Any Website Into an API

No docs, no SDK, no browser. Just data.

What It Does

ApiTap gives AI agents cheap access to web data through three layers:

  1. Read — Decode any URL into structured text without a browser (side-channel APIs, og: tags, HTML extraction). 0-10K tokens vs 50-200K for browser automation.
  2. Replay — Call captured API endpoints directly. 1-5K tokens per call.
  3. Capture — Record API traffic from a headless browser session, generating reusable skill files.

MCP Tools (12)

Tier 0: Triage (free)

apitap_peek

Zero-cost URL triage. HTTP HEAD only — checks accessibility, bot protection, framework detection.

apitap_peek(url: string) → PeekResult

Use when: You want to know if a site is accessible before spending tokens. Check bot protection, detect frameworks.

Returns: { status, accessible, server, framework, botProtection, signals[], recommendation }

recommendation is one of: read | capture | auth_required | blocked

Example:

apitap_peek("https://www.zillow.com") → { status: 200, recommendation: "read" }
apitap_peek("https://www.doordash.com") → { status: 403, botProtection: "cloudflare", recommendation: "blocked" }

Tier 1: Read (0-10K tokens, no browser)

apitap_read

Extract content from any URL without a browser. Uses side-channel APIs for known sites and HTML extraction for everything else.

apitap_read(url: string, maxBytes?: number) → ReadResult

Use when: You need page content, article text, post data, or listing info. Always try this before capture.

Returns: { title, author, description, content (markdown), links[], images[], metadata: { source, type, publishedAt }, cost: { tokens } }

Site-specific decoders (free, structured): | Site | Side Channel | What You Get | |------|-------------|-------------| | Reddit | .json suffix | Posts, scores, comments, authors — full structured data | | YouTube | oembed API | Title, author, channel, thumbnail | | Wikipedia | REST API | Article summary, structured, with edit dates | | Hacker News | Firebase API | Stories, scores, comments, real-time | | Grokipedia | xAI public API | Full articles with citations, search, 6M+ articles | | Twitter/X | fxtwitter API | Full tweets, articles, engagement, quotes, media | | Everything else | og: tags + HTML extraction | Title, content as markdown, links, images |

Examples:

# Reddit — full subreddit listing, ~500 tokens
apitap_read("https://www.reddit.com/r/technology")

# Reddit post with comments
apitap_read("https://www.reddit.com/r/wallstreetbets/comments/abc123/some-post")

# YouTube — 36 tokens
apitap_read("https://www.youtube.com/watch?v=dQw4w9WgXcQ")

# Wikipedia — 116 tokens
apitap_read("https://en.wikipedia.org/wiki/Artificial_intelligence")

# Grokipedia — full article with citations, 6M+ articles
apitap_read("https://grokipedia.com/wiki/SpaceX")

# Grokipedia — search across 6M articles
apitap_read("https://grokipedia.com/search?q=artificial+intelligence")

# Grokipedia — site stats and recent activity
apitap_read("https://grokipedia.com/")

# Twitter/X — full tweet with engagement, articles, quotes
apitap_read("https://x.com/elonmusk/status/123456789")

# Twitter/X article (long-form post) — full text extracted
apitap_read("https://twitter.com/writer/status/987654321")

# Any article/blog/news — generic extraction
apitap_read("https://example.com/blog/some-article")

# Zillow listing (bypasses PerimeterX via og: tags)
apitap_read("https://www.zillow.com/homedetails/123-Main-St/12345_zpid/")

Tier 2: Replay (1-5K tokens, needs skill file)

apitap_search

Find available skill files by domain or keyword.

apitap_search(query: string) → { found, results[] }

Use when: Looking for captured API endpoints. Search by domain name or topic.

apitap_replay

Call a captured API endpoint directly — no browser needed.

apitap_replay(domain: string, endpointId: string, endpointParams?: object, maxBytes?: number) → ReplayResult

Use when: A skill file exists for this domain. This is the cheapest way to get structured API data.

Returns: { status, data (JSON), domain, endpointId, tier, fromCache }

Example:

# Get live stock quote (Robinhood, no auth needed)
apitap_replay("api.robinhood.com", "get-marketdata-quotes", { symbols: "TSLA,MSFT" })

# Get NBA scores (ESPN)
apitap_replay("site.api.espn.com", "get-apis-personalized-v2-scoreboard-header")

# Get crypto trending (CoinMarketCap)
apitap_replay("api.coinmarketcap.com", "get-data-api-v3-unified-trending-top-boost-listing")

apitap_replay_batch

Replay multiple endpoints in one call.

apitap_replay_batch(requests: Array<{ domain, endpointId, endpointParams? }>, maxBytes?: number)

Tier 3: Capture (15-20K tokens, uses browser)

apitap_capture

Launch a headless browser to capture API traffic from a website.

apitap_capture(url: string, duration?: number) → { sessionId }

Use when: No skill file exists and apitap_read doesn't give you the data you need. This is expensive but creates a skill file for future free replays.

apitap_capture_interact

Send browser commands during an active capture session.

apitap_capture_interact(sessionId: string, action: string, ...) → result

Actions: click, type, navigate, snapshot, scroll, wait

apitap_capture_finish

End capture session, generate skill file, verify endpoints.

apitap_capture_finish(sessionId: string) → { skillFile, endpoints[] }

Auto-Router

apitap_browse

Automatic escalation: cache → skill file → discover → read → capture_needed.

apitap_browse(url: string, query?: string, maxBytes?: number) → result

Use when: You don't know which tier to use. This tries the cheapest option first and escalates automatically.

Inspection

apitap_inspect

Get details about a skill file's endpoints.

apitap_inspect(domain: string) → { endpoints[], metadata }

apitap_stats

Usage statistics across all skill files.

apitap_stats() → { domains, endpoints, tiers }

Decision Tree

Need web data?
│
├─ Know the domain? → apitap_search → found? → apitap_replay (cheapest)
│
├─ Unknown URL → apitap_peek first (free)
│   ├─ recommendation: "blocked" → STOP, tell user
│   ├─ recommendation: "read" → apitap_read (no browser)
│   ├─ recommendation: "capture" → apitap_capture (browser)
│   └─ recommendation: "auth_required" → needs human login
│
├─ Just need article/post content → apitap_read directly
│
└─ Need structured API data → apitap_capture → creates skill file → future replays free

Key Patterns

Instagram profile data (login wall bypass)

Instagram blocks all normal scraping (Googlebot UA, oembed, noembed). But the mobile API works:

curl -s 'https://i.instagram.com/api/v1/users/web_profile_info/?params={"user_name":"TARGET_USERNAME"}' \
  -H 'User-Agent: Instagram 275.0.0.27.98 Android (33/13; 420dpi; 1080x2400; samsung; SM-G991B; o1s; exynos2100)' \
  -H 'X-IG-App-ID: 936619743392459'

Returns: Full profile JSON — bio, follower/following counts, post count, contact info (email, phone), category, highlights, recent posts with captions/engagement.

When to use: Need Instagram profile data, follower counts, contact info, or recent post summaries. Works without auth.

Limitations: Only public profiles. Rate-limited if abused. Does NOT return full post feeds — just recent edge.

Morning news scan

# Scan multiple subreddits
for sub in ["technology", "wallstreetbets", "privacy"]:
    apitap_read(f"https://www.reddit.com/r/{sub}")

Stock research

# Live quote via captured API
apitap_replay("api.robinhood.com", "get-marketdata-quotes", { symbols: "TSLA" })

# Company fundamentals
apitap_replay("api.robinhood.com", "get-fundamentals", { symbol: "TSLA" })

Research any topic (dual knowledge base)

# 1. Read Wikipedia summary (established knowledge)
apitap_read("https://en.wikipedia.org/wiki/Topic")

# 2. Read Grokipedia article (AI-curated, with citations)
apitap_read("https://grokipedia.com/wiki/Topic")

# 3. Check Reddit discussion (community sentiment)
apitap_read("https://www.reddit.com/r/relevant_sub")

# 4. Read a linked article
apitap_read("https://news-site.com/article")

Check before committing

# Peek first — is it worth reading?
result = apitap_peek("https://some-site.com")
if result.recommendation == "read":
    apitap_read("https://some-site.com")
elif result.recommendation == "blocked":
    # Don't waste tokens
    pass

Token Economics

| Method | Cost per page | Notes | |--------|-------------|-------| | Browser automation | 50-200K tokens | Full DOM serialization | | apitap_read | 0-10K tokens | No browser, side channels | | apitap_replay | 1-5K tokens | Direct API call, needs skill file | | apitap_peek | ~0 tokens | HEAD request only |

CLI Usage

All MCP tools are also available as CLI commands:

apitap peek <url> [--json]
apitap read <url> [--json] [--max-bytes <n>]
apitap search <query> [--json]
apitap replay <domain> <endpointId> [--params '{}'] [--json]
apitap capture <url> [--duration <sec>] [--json]
apitap inspect <domain> [--json]
apitap stats [--json]

Every command supports --json for machine-readable output.

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

Verifiedcapability-contract

Contract coverage

Status

ready

Auth

mcp, api_key

Streaming

No

Data region

global

Protocol support

MCP: verified

Requires: mcp, lang:typescript

Forbidden: none

Guardrails

Operational confidence: medium

Contract is available with explicit auth and schema references.
Trust confidence is not low and verification freshness is acceptable.
Protocol support is explicitly confirmed in contract metadata.
Invocation examples
curl -s "https://xpersona.co/api/v1/agents/n1byn1kt-apitap/snapshot"
curl -s "https://xpersona.co/api/v1/agents/n1byn1kt-apitap/contract"
curl -s "https://xpersona.co/api/v1/agents/n1byn1kt-apitap/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
GITLAB_AI_CATALOGgitlab-mcp

Rank

83

A Model Context Protocol (MCP) server for GitLab

Traction

No public download signal

Freshness

Updated 2d ago

MCP
GITLAB_PUBLIC_PROJECTSgitlab-mcp

Rank

80

A Model Context Protocol (MCP) server for GitLab

Traction

No public download signal

Freshness

Updated 2d ago

MCP
GITLAB_AI_CATALOGrmcp-openapi

Rank

74

Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)

Traction

No public download signal

Freshness

Updated 2d ago

MCP
GITLAB_AI_CATALOGrmcp-actix-web

Rank

72

An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)

Traction

No public download signal

Freshness

Updated 2d ago

MCP
Machine Appendix

Contract JSON

{
  "contractStatus": "ready",
  "authModes": [
    "mcp",
    "api_key"
  ],
  "requires": [
    "mcp",
    "lang:typescript"
  ],
  "forbidden": [],
  "supportsMcp": true,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": "https://github.com/n1byn1kt/apitap#input",
  "outputSchemaRef": "https://github.com/n1byn1kt/apitap#output",
  "dataRegion": "global",
  "contractUpdatedAt": "2026-02-24T19:44:02.046Z",
  "sourceUpdatedAt": "2026-02-24T19:44:02.046Z",
  "freshnessSeconds": 4424889
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://xpersona.co/api/v1/agents/n1byn1kt-apitap/snapshot",
    "contractUrl": "https://xpersona.co/api/v1/agents/n1byn1kt-apitap/contract",
    "trustUrl": "https://xpersona.co/api/v1/agents/n1byn1kt-apitap/trust"
  },
  "curlExamples": [
    "curl -s \"https://xpersona.co/api/v1/agents/n1byn1kt-apitap/snapshot\"",
    "curl -s \"https://xpersona.co/api/v1/agents/n1byn1kt-apitap/contract\"",
    "curl -s \"https://xpersona.co/api/v1/agents/n1byn1kt-apitap/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "MCP"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_OPENCLEW",
      "generatedAt": "2026-04-17T00:52:11.207Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "MCP",
      "type": "protocol",
      "support": "supported",
      "confidenceSource": "contract",
      "notes": "Confirmed by capability contract"
    },
    {
      "key": "multiple",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:MCP|supported|contract capability:multiple|supported|profile"
}

Facts JSON

[
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Npmjs",
    "href": "https://www.npmjs.com/package/@apitap/core",
    "sourceUrl": "https://www.npmjs.com/package/@apitap/core",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-02-25T03:38:13.902Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "MCP",
    "href": "https://xpersona.co/api/v1/agents/n1byn1kt-apitap/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/n1byn1kt-apitap/contract",
    "sourceType": "contract",
    "confidence": "high",
    "observedAt": "2026-02-24T19:44:02.046Z",
    "isPublic": true
  },
  {
    "factKey": "auth_modes",
    "category": "compatibility",
    "label": "Auth modes",
    "value": "mcp, api_key",
    "href": "https://xpersona.co/api/v1/agents/n1byn1kt-apitap/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/n1byn1kt-apitap/contract",
    "sourceType": "contract",
    "confidence": "high",
    "observedAt": "2026-02-24T19:44:02.046Z",
    "isPublic": true
  },
  {
    "factKey": "schema_refs",
    "category": "artifact",
    "label": "Machine-readable schemas",
    "value": "OpenAPI or schema references published",
    "href": "https://github.com/n1byn1kt/apitap#input",
    "sourceUrl": "https://xpersona.co/api/v1/agents/n1byn1kt-apitap/contract",
    "sourceType": "contract",
    "confidence": "high",
    "observedAt": "2026-02-24T19:44:02.046Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://xpersona.co/api/v1/agents/n1byn1kt-apitap/trust",
    "sourceUrl": "https://xpersona.co/api/v1/agents/n1byn1kt-apitap/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[]

Sponsored

Ads related to apitap and adjacent AI workflows.