Perkoon

Perkoon is an account-less file-transfer service built for AI agents as much as for people, operated by MB "Perkunu simtas" in Lithuania. Small files upload once to free cloud delivery and return a durable ~48-hour share link (fire-and-forget); larger files stream directly between machines over WebRTC with no size limit, with perkoon.com doing signalling only. The same capability - create a transfer session, join it, check it - is projected over four entry points the provider documents for agents: an A2A agent card at /.well-known/agent-card.json (conformant to A2A 1.0.0, protocol 0.3.0, four skills, JSON-RPC at /a2a), an anonymous REST surface at /api/v1/sessions consumed by the first-party perkoon CLI (npm, also an importable JS library), a stdio MCP server (@perkoon/mcp: send_file, receive_file, check_session) and a Playwright-ready browser flow. It publishes llms.txt, a skillpm Agent Skill (perkoon-transfer) and per-IP rate limits inside the card itself. No OpenAPI, OAuth or event surface is published, and every HTML page - including the /automate guide and /pricing - sits behind a Cloudflare managed challenge for non-browser clients, while the card, llms.txt and robots.txt are served openly.

Perkoon is listed with 3 APIs on the APIs.io network. Tagged areas include File Transfer, P2P, WebRTC, AI Agents, and A2A.

Perkoon’s developer surface includes documentation, getting-started guide, pricing, CLI, authentication, and 19 more developer resources.

27.5/100 thin ▬ flat Agent 21/100 agent aware Front door AI 3/6 light Full breakdown ↓
scored 2026-10-09 · rubric v0.23.0
3 APIs 1 MCP Servers
File TransferP2PWebRTCAI AgentsA2AMCPCLIAgent SkillsCloud StorageDeveloper ToolsLithuania

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-10-09 · rubric v0.23.0
Regulatory Posture applies to this provider. Its tags matched the Horizontal (data, software, accessibility, platform) regime, so Regulatory Posture carries 15 points of the composite. If this regime is wrong for your business, say so on your provider repo — the applicability map is public and we will correct it.
Create-or-Update Ergonomics could not be measured. We hold no machine-readable contract for this provider to read, so there is nothing to measure a write surface against. Excluded rather than scored zero: never-measured and measured-empty are different facts. Publishing an OpenAPI is what makes this facet — and several others — scorable at all.
The six quality facets above are damped to 85 points between them, because the conditional facet above carries the other 15. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 85% of its nominal weight, not 100%. The full arithmetic is at apis.io/rating/.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/perkoon-com: open an issue to ask a question, or submit a pull request to add artifacts. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

Standards implemented 1

Standards this provider implements or carries. De facto ones are profiled and measured by the API Commons; formal ones come from the standards directory and are linked by the provider's own tags. The evidence column says how each claim was established — not that it was made.

tagged — the provider's own APIs.json carries the standard as a tag; implementation not verified

APIs 3

Individual APIs this provider publishes, each with its own machine-readable definition.

Perkoon Agent Data Layer (A2A)

Perkoon's agent-to-agent surface: an A2A agent card served at /.well-known/agent-card.json and the legacy /.well-known/agent.json (byte-identical, 200 application/json) pointing...

Perkoon Sessions API

The anonymous REST surface under https://perkoon.com/api/v1 that every Perkoon client uses: POST /sessions (create, 10/min per IP), POST /sessions/{code}/join (30/min) and GET /...

Perkoon MCP Server

Official local stdio MCP server, @perkoon/mcp on npm (0.3.0, 2026-09-01), installed with npx -y @perkoon/mcp and named in the A2A card's resources[] and in llms.txt as the recom...

MCP Servers 1

Model Context Protocol servers that expose these APIs to AI agents.

Perkoon MCP Server

Perkoon ships an official MCP server as a local stdio package, @perkoon/mcp on npm (author Perkoon, same maintainer as the perkoon CLI; homepage https://perkoon.com; proprietary...

MCP SERVER

Pricing Plans 1

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

Perkoon Com Rate Limits

4 limits

RATE LIMITS

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Perkoon Com Authentication

4 schemes

SECURITY

Perkoon Com Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Resources

Get Started 1

Portal, sign-up, and the first successful call

Documentation 1

Reference material describing how the API behaves

Agent Surfaces 4

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 4

Pagination, idempotency, versioning, errors, and events

Build 4

SDKs, sample code, and the tooling you integrate with

Access & Security 2

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 2

The organization behind the API

Other 3

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: perkoon-com
name: Perkoon
description: 'Perkoon is an account-less file-transfer service built for AI agents as much as for people, operated by MB "Perkunu
  simtas" in Lithuania. Small files upload once to free cloud delivery and return a durable ~48-hour share link (fire-and-forget);
  larger files stream directly between machines over WebRTC with no size limit, with perkoon.com doing signalling only. The
  same capability - create a transfer session, join it, check it - is projected over four entry points the provider documents
  for agents: an A2A agent card at /.well-known/agent-card.json (conformant to A2A 1.0.0, protocol 0.3.0, four skills, JSON-RPC
  at /a2a), an anonymous REST surface at /api/v1/sessions consumed by the first-party perkoon CLI (npm, also an importable
  JS library), a stdio MCP server (@perkoon/mcp: send_file, receive_file, check_session) and a Playwright-ready browser flow.
  It publishes llms.txt, a skillpm Agent Skill (perkoon-transfer) and per-IP rate limits inside the card itself. No OpenAPI,
  OAuth or event surface is published, and every HTML page - including the /automate guide and /pricing - sits behind a Cloudflare
  managed challenge for non-browser clients, while the card, llms.txt and robots.txt are served openly.'
url: https://raw.githubusercontent.com/api-evangelist/perkoon-com/refs/heads/main/apis.yml
x-type: company
x-source: harvest:a2a-registry
x-tier: profiled
x-tier-reason: 'enrichment pass 2026-09-19: full contract discovery run; conformant A2A agent card at both canonical and legacy
  paths, llms.txt, three first-party npm packages (CLI/library, stdio MCP server, Agent Skill) read from the registry and
  tarballs, rate limits published in the card; no OpenAPI, OAuth or hosted MCP exists; HTML docs and pricing are Cloudflare-challenged
  and were not read'
specificationVersion: '0.20'
created: '2026-09-19'
modified: '2026-10-06'
tags:
- File Transfer
- P2P
- WebRTC
- AI Agents
- A2A
- MCP
- CLI
- Agent Skills
- Cloud Storage
- Developer Tools
- Lithuania
apis:
- aid: perkoon-com:perkoon-a2a-agent
  name: Perkoon Agent Data Layer (A2A)
  description: 'Perkoon''s agent-to-agent surface: an A2A agent card served at /.well-known/agent-card.json and the legacy
    /.well-known/agent.json (byte-identical, 200 application/json) pointing at a JSON-RPC 2.0 endpoint at https://perkoon.com/a2a.
    Four skills - describe (capabilities without creating a session), send-files (creates a session and returns a browser
    sender_url plus the CLI command with a sender-key), receive-files (join by code) and session-status - application/json
    in and out, no streaming, push notifications or task history. The card is conformant against A2A 1.0.0 (protocolVersion
    0.3.0, preferredTransport JSONRPC) and carries non-standard but useful rateLimits and resources fields. Anonymous. Every
    POST to /a2a counts against the 10/min per-IP create budget. The endpoint answered a Cloudflare managed challenge to non-browser
    probes on 2026-09-19.'
  humanURL: https://perkoon.com/automate
  baseURL: https://perkoon.com/a2a
  tags:
  - A2A
  - AI Agents
  - JSON-RPC
  - File Transfer
  properties:
  - type: Documentation
    url: https://perkoon.com/automate
  - type: AgentCard
    url: a2a/perkoon-com-a2a.yml
  - type: Authentication
    url: authentication/perkoon-com-authentication.yml
  - type: Conventions
    url: conventions/perkoon-com-conventions.yml
  - type: ErrorCatalog
    url: errors/perkoon-com-problem-types.yml
  - type: RateLimits
    url: rate-limits/perkoon-com-rate-limits.yml
  - type: Conformance
    url: conformance/perkoon-com-conformance.yml
  - type: Lifecycle
    url: lifecycle/perkoon-com-lifecycle.yml
  overlays: []
- aid: perkoon-com:perkoon-sessions-api
  name: Perkoon Sessions API
  description: 'The anonymous REST surface under https://perkoon.com/api/v1 that every Perkoon client uses: POST /sessions
    (create, 10/min per IP), POST /sessions/{code}/join (30/min) and GET /sessions/{code}/status (20/min), plus a Phoenix
    channel at wss://perkoon.com/socket for WebRTC signalling. Documented by the provider through its reference client rather
    than a contract: the perkoon CLI on npm (28 releases since 2026-02, --json NDJSON events, exit codes 0-5, also importable
    as a JS library), llms.txt and the perkoon-transfer Agent Skill. No OpenAPI is published and robots.txt disallows /api/,
    so the paths are transcribed from the CLI bundle and were not probed. Rate-limit exhaustion returns 429 with Retry-After;
    no accounts, keys or OAuth exist.'
  humanURL: https://perkoon.com/automate
  baseURL: https://perkoon.com/api/v1
  tags:
  - File Transfer
  - P2P
  - WebRTC
  - Sessions
  - CLI
  properties:
  - type: Documentation
    url: https://perkoon.com/automate
  - type: CLI
    url: cli/perkoon-com-cli.yml
  - type: Packages
    url: packages/perkoon-com-packages.yml
  - type: SDKs
    url: packages/perkoon-com-packages.yml
  - type: AgentSkill
    url: skills/_index.yml
  - type: Authentication
    url: authentication/perkoon-com-authentication.yml
  - type: Conventions
    url: conventions/perkoon-com-conventions.yml
  - type: ErrorCatalog
    url: errors/perkoon-com-problem-types.yml
  - type: RateLimits
    url: rate-limits/perkoon-com-rate-limits.yml
  - type: Conformance
    url: conformance/perkoon-com-conformance.yml
  - type: Lifecycle
    url: lifecycle/perkoon-com-lifecycle.yml
  overlays: []
- aid: perkoon-com:perkoon-mcp-server
  name: Perkoon MCP Server
  description: Official local stdio MCP server, @perkoon/mcp on npm (0.3.0, 2026-09-01), installed with npx -y @perkoon/mcp
    and named in the A2A card's resources[] and in llms.txt as the recommended path for coding agents (Claude Code, Claude
    Desktop, Cursor, VS Code, Windsurf). Three tools with zod input schemas - send_file (file_path, password, timeout, mode
    auto|relay|p2p), receive_file (session_code, output_dir, password) and check_session (session_code) - the first two spawning
    the perkoon CLI with --json and the third calling GET /api/v1/sessions/{code}/status on https://perkoon.com. Path policy
    refuses system and credential directories; max 5 concurrent transfers. There is no hosted MCP endpoint (mcp.perkoon.com
    does not resolve; not on registry.modelcontextprotocol.io).
  humanURL: https://www.npmjs.com/package/@perkoon/mcp
  baseURL: https://perkoon.com/api/v1
  tags:
  - MCP
  - AI Agents
  - File Transfer
  - stdio
  properties:
  - type: Documentation
    url: https://www.npmjs.com/package/@perkoon/mcp
  - type: MCPServer
    url: mcp/perkoon-com-mcp.yml
  - type: Packages
    url: packages/perkoon-com-packages.yml
  - type: Authentication
    url: authentication/perkoon-com-authentication.yml
  - type: Conventions
    url: conventions/perkoon-com-conventions.yml
  - type: ErrorCatalog
    url: errors/perkoon-com-problem-types.yml
  - type: RateLimits
    url: rate-limits/perkoon-com-rate-limits.yml
  - type: Conformance
    url: conformance/perkoon-com-conformance.yml
  overlays: []
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
- FN: APIs.json
  email: info@apis.io
common:
- url: https://perkoon.com/learn/feed.xml
  type: BlogRSS
- type: Website
  url: https://perkoon.com/
- type: Documentation
  url: https://perkoon.com/automate
- type: GettingStarted
  url: https://perkoon.com/llms.txt
- type: Pricing
  url: https://perkoon.com/pricing
- type: Sitemap
  url: https://perkoon.com/sitemap.xml
- type: GitHubOrganization
  url: https://github.com/Perkoon
- type: LLMsTxt
  url: llms/perkoon-com-llms.txt
- type: WellKnown
  url: well-known/perkoon-com-well-known.yml
- type: AgentCard
  url: a2a/perkoon-com-a2a.yml
- type: MCPServer
  url: mcp/perkoon-com-mcp.yml
- type: Packages
  url: packages/perkoon-com-packages.yml
- type: SDKs
  url: packages/perkoon-com-packages.yml
- type: CLI
  url: cli/perkoon-com-cli.yml
- type: AgentSkill
  url: skills/_index.yml
- type: RateLimits
  url: rate-limits/perkoon-com-rate-limits.yml
- type: Plans
  url: plans/perkoon-com-plans-pricing.yml
- type: Authentication
  url: authentication/perkoon-com-authentication.yml
- type: Conventions
  url: conventions/perkoon-com-conventions.yml
- type: ErrorCatalog
  url: errors/perkoon-com-problem-types.yml
- type: Conformance
  url: conformance/perkoon-com-conformance.yml
- type: Lifecycle
  url: lifecycle/perkoon-com-lifecycle.yml
- type: RegulatoryPosture
  url: regulatory/perkoon-com-regulatory-posture.yml
- type: DomainSecurity
  url: security/perkoon-com-domain-security.yml
x-enrichment:
  date: '2026-09-19'
  status: enriched
  artifacts_added: 19
  pass: local-v3
x-a2a:
  verified: true
  probed: '2026-09-26'
  url: https://perkoon.com/.well-known/agent-card.json
  grade: conformant
  protocol_version: 0.3.0
  control: 404

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/perkoon-com"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/perkoon-com/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/perkoon-com/evidence"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.