{
 "categories": [
  "finance",
  "enterprise"
 ],
 "deployment": "saas",
 "evidence": [
  {
   "date": "2026-09-30",
   "fact": "homepage",
   "note": "Perk presents a web platform for travel, spend, and events.",
   "source": "https://www.perk.com/",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "license",
   "note": "The homepage sells Perk to companies as a travel and spend platform. No free public plan was stated. License is commercial.",
   "source": "https://www.perk.com/",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "deployment",
   "note": "Perk is used as a hosted web platform. Deployment is saas.",
   "source": "https://www.perk.com/",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "modalities.rpa.ui_stack[0]",
   "note": "The product homepage is a browser application. UI stack is web-dom. Drivability was not probed.",
   "source": "https://www.perk.com/",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "modalities.api.exists",
   "note": "Perk documents a Travel REST API at https://api.perk.com and a separate Spend API whose reference is at developer.yokoy.ai.",
   "source": "https://developers.perk.com/docs/rest-api",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "modalities.api.kinds[0]",
   "note": "The overview says JSON is returned for responses and errors and that the API uses standard HTTP verbs.",
   "source": "https://developers.perk.com/docs/rest-api",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "modalities.api.auth[0]",
   "note": "Customers accessing their own account send Authorization: ApiKey. Keys are created by account admins and have the same access as an admin user.",
   "source": "https://developers.perk.com/reference/api-keys-1",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "modalities.api.auth[1]",
   "note": "Partner access uses the OAuth authorization_code grant. The access token calls Perk APIs and expires after one hour. Refresh tokens expire 30 days after issuance.",
   "source": "https://developers.perk.com/reference/oauth-20-implementation-guidance",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "modalities.api.coverage",
   "note": "Travel resources listed are profiles, invoices, SCIM users, users, trips, bookings, cost centers, and companies. Spend resources are on api.yokoy.ai. Coverage is partial relative to in-app booking checkout.",
   "source": "https://developers.perk.com/docs/rest-api",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "modalities.api.docs",
   "note": "Opened as the current REST API overview.",
   "source": "https://developers.perk.com/docs/rest-api",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "modalities.mcp.first_party",
   "note": "Perk documents the Perk MCP server as its own server for AI clients to query and write travel, spend, invoice, and event data.",
   "source": "https://developers.perk.com/docs/perk-mcp",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "modalities.mcp.verdict",
   "note": "Production URL is https://mcp.perk.com/api/mcp/mcp. Auth is OAuth 2.0 authorization code with PKCE and dynamic client registration. Verdict is official.",
   "source": "https://developers.perk.com/docs/authenticate-with-the-perk-mcp-server",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "modalities.extensibility.webhooks",
   "note": "Perk POSTs JSON events to an HTTPS endpoint, retries non-2xx responses with exponential backoff, and signs payloads with HMAC-SHA256 in Tk-webhook-hmac-sha256.",
   "source": "https://developers.perk.com/docs/subscribing-to-webhooks",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "modalities.data_access.export[0]",
   "note": "reporting_get_travel_report returns a CSV or XLSX download link when a travel report is ready.",
   "source": "https://developers.perk.com/docs/perk-mcp-tools-reference",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "modalities.data_access.export[1]",
   "note": "The same travel-report tool returns an XLSX download link as well as CSV.",
   "source": "https://developers.perk.com/docs/perk-mcp-tools-reference",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "modalities.data_access.export[2]",
   "note": "Invoice tools return a PDF download link, and trips_get_trip_itinerary_pdf returns an itinerary PDF URL.",
   "source": "https://developers.perk.com/docs/perk-mcp-tools-reference",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "modalities.agent_docs.llms_txt",
   "note": "Opened a first-party docs index covering the MCP server, REST reference, webhooks, and SCIM.",
   "source": "https://developers.perk.com/llms.txt",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "verdict.scores.api",
   "note": "Documented Travel REST plus a separate Spend host, API-key and partner OAuth, and webhooks. Admin-scoped keys and the split hosts keep the score at 7.",
   "source": "https://developers.perk.com/docs/rest-api",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "verdict.scores.mcp",
   "note": "Official production MCP with a large read and write tool list. Checkout and trip approval hand off to the web app, and reporting is one day behind. Score 8.",
   "source": "https://developers.perk.com/docs/perk-mcp-tools-reference",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "freshness.watch[0].url",
   "note": "Opened and verified as the Perk MCP overview.",
   "source": "https://developers.perk.com/docs/perk-mcp",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "freshness.watch[1].url",
   "note": "Opened and verified as the Perk MCP tools reference.",
   "source": "https://developers.perk.com/docs/perk-mcp-tools-reference",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "freshness.watch[2].url",
   "note": "Opened and verified as the REST API overview.",
   "source": "https://developers.perk.com/docs/rest-api",
   "tier": "declared"
  },
  {
   "date": "2026-09-30",
   "fact": "freshness.watch[3].url",
   "note": "Opened and verified as the MCP authentication guide.",
   "source": "https://developers.perk.com/docs/authenticate-with-the-perk-mcp-server",
   "tier": "declared"
  }
 ],
 "freshness": {
  "last_verified": "2026-09-30",
  "volatility": "high",
  "watch": [
   {
    "type": "docs",
    "url": "https://developers.perk.com/docs/perk-mcp"
   },
   {
    "type": "docs",
    "url": "https://developers.perk.com/docs/perk-mcp-tools-reference"
   },
   {
    "type": "docs",
    "url": "https://developers.perk.com/docs/rest-api"
   },
   {
    "type": "docs",
    "url": "https://developers.perk.com/docs/authenticate-with-the-perk-mcp-server"
   }
  ]
 },
 "homepage": "https://www.perk.com/",
 "id": "perk",
 "license": "commercial",
 "modalities": {
  "agent_docs": {
   "llms_txt": true
  },
  "api": {
   "auth": [
    "api-key",
    "oauth2"
   ],
   "coverage": "partial",
   "docs": "https://developers.perk.com/docs/rest-api",
   "exists": true,
   "kinds": [
    "rest"
   ]
  },
  "cli": {
   "exists": "unknown"
  },
  "computer_use": {
   "issues": [],
   "viability": "unknown"
  },
  "data_access": {
   "export": [
    "csv",
    "xlsx",
    "pdf"
   ],
   "import": []
  },
  "extensibility": {
   "scripting": [],
   "webhooks": true
  },
  "integrations": {
   "make": "unknown",
   "n8n": "unknown",
   "power_automate": "unknown",
   "zapier": "unknown"
  },
  "mcp": {
   "first_party": true,
   "third_party": [],
   "verdict": "official"
  },
  "rpa": {
   "drivability": "unknown",
   "notes": "No repeatable UI probe was run. Perk's MCP server and Travel REST API cover trips, expenses, invoices, and webhooks without browser control of the Perk web app. Booking checkout and trip approval still finish in that app.\n",
   "ui_stack": [
    "web-dom"
   ],
   "vendor_support": []
  },
  "sdk": {
   "exists": "unknown",
   "languages": [],
   "official": "unknown"
  }
 },
 "name": "Perk",
 "platforms": [
  "web"
 ],
 "related": {
  "alternatives": [
   "sap-concur",
   "brex",
   "ramp"
  ],
  "our_products": []
 },
 "schema_version": 1,
 "score_version": 1,
 "status": "active",
 "vendor": "Perk",
 "verdict": {
  "best_path": "mcp",
  "scores": {
   "api": 7,
   "cli": null,
   "computer_use": null,
   "integrations": null,
   "mcp": 8,
   "overall": 8,
   "rpa": null
  },
  "summary": "Perk is automatable today through its first-party MCP server at https://mcp.perk.com/api/mcp/mcp. This record is the Perk travel, spend, invoice, and events platform. It is not SAP Concur, Navan, Brex, or Ramp. The MCP server uses OAuth 2.0 authorization code with PKCE and dynamic client registration. The opened tools reference covers trips, flight, hotel, train, and car search, expenses, invoices, reporting, policy, events, cards, and trip-approval links. Checkout links and trip-approval links finish in the Perk web app. Reporting data is one day behind; expense queries are live. Access follows the signed-in role and plan. The Travel REST API at https://api.perk.com returns JSON for trips, bookings, invoices, users, companies, and cost centers, plus SCIM user provisioning. Customers send Authorization: ApiKey. Partners use OAuth 2.0 authorization code; access tokens expire after one hour. API keys have the same access as an admin user. Calls to https://api.travelperk.com are still accepted. The Spend API is documented separately at developer.yokoy.ai; its authentication page was not opened, so Spend auth is not listed here. Perk POSTs webhook events as JSON and signs them with HMAC-SHA256 in Tk-webhook-hmac-sha256. developers.perk.com/llms.txt is a first-party docs index. No official language SDK was established. iPaaS catalogs were not opened. Computer-use viability is unassessed. MCP scores 8 and the API scores 7. MCP is the best path because the tool reference covers expense writes and booking search that the Travel REST overview does not list as resources.\n"
 }
}