{"api_name":"PostHog API","docs_url":"https://posthog.com/docs","domain":"posthog.com","generated_at":"2026-10-05T22:03:25.876018+00:00","agent_readiness_score":75,"certification_level":"Yoofooz Ready","agent_commerce_score":55,"agent_commerce_level":"Agent Commerce Emerging","agent_commerce":{"generated_at":"2026-10-05T22:03:25.781046+00:00","agent_commerce_score":55,"agent_commerce_level":"Agent Commerce Emerging","machine_payment_capable":false,"detected_protocols":["MCP"],"category_scores":{"mcp_support":10,"agent_identity_auth":5,"machine_payments":0,"machine_pricing":10,"budget_controls":5,"agent_rate_controls":10,"deterministic_errors":0,"auditability":5,"agent_security":5,"agent_observability":5},"strengths":["MCP support","Machine-readable consumption pricing","Agent rate and quota controls"],"gaps":["Machine-native payments","Deterministic machine-readable errors"],"matched_signals":{"mcp_support":{"score":10,"matched_terms":["mcp server","mcp tools","mcp"]},"agent_identity_auth":{"score":5,"matched_terms":["authorization","scopes"]},"machine_payments":{"score":0,"matched_terms":[]},"machine_pricing":{"score":10,"matched_terms":["usage-based pricing","pricing","usage-based"]},"budget_controls":{"score":5,"matched_terms":["spend","limit"]},"agent_rate_controls":{"score":10,"matched_terms":["rate limit","rate limits","quota","limits"]},"deterministic_errors":{"score":0,"matched_terms":["errors"]},"auditability":{"score":5,"matched_terms":["logs","history"]},"agent_security":{"score":5,"matched_terms":["security","policy","scopes"]},"agent_observability":{"score":5,"matched_terms":["metrics","usage","dashboard"]}},"evidence_signals":{"mcp_support":[{"source_url":"https://posthog.com/llms.txt","matched_terms":["mcp server","mcp"],"snippet":"API key (not the project API key) for API access. See the [API docs](https://posthog.com/docs/api.md). **MCP and AI tools:** PostHog has an official MCP server for AI coding assistants. Install with `npx @posthog/wizard mcp add`. There is also a Claude Code plugin: `claude plugin install posthog`. Products and tools..."},{"source_url":"https://posthog.com/docs/error-tracking/surfaces/mcp.md","matched_terms":["mcp server","mcp"],"snippet":"s one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt # Use Error Tracking over PostHog MCP The [PostHog MCP server](/docs/model-context-protocol.md) exposes function calling tools to any MCP client, enabling AI agents to interact with PostHog's API via the MCP protocol...."}],"agent_identity_auth":[{"source_url":"https://posthog.com/docs/endpoints/openapi-sdk-generation.md","matched_terms":["authorization"],"snippet":"use to generate typed SDK clients for your preferred language. Getting the spec Fetch the OpenAPI spec for any endpoint: Terminal ```bash curl \\ -H \"Authorization: Bearer $POSTHOG_PERSONAL_API_KEY\" \\ \" /api/projects/ /endpoints/ /openapi.json\" ``` The spec includes request schemas (with any variables your endpoint..."},{"source_url":"https://posthog.com/docs/endpoints/start-here/retrieve-data/openapi.md","matched_terms":["authorization"],"snippet":"uage from your PostHog endpoints using OpenAPI. Get your OpenAPI spec Each endpoint exposes an OpenAPI 3.0 specification: Terminal ```bash curl \\ -H \"Authorization: Bearer $POSTHOG_PERSONAL_API_KEY\" \\ \" /api/environments/ /endpoints/ /openapi.json\" ``` To get the spec for a specific..."}],"machine_pricing":[{"source_url":"https://posthog.com/openapi.json","matched_terms":["pricing"],"snippet":"son\":{\"schema\": }},\"description\":\"\"},\"503\":{\"content\":{\"application/json\":{\"schema\": }},\"description\":\"\"}},\"x-product\":[\"tasks\"]}},\"/api/code/sandbox-pricing/\":{\"get\":{\"operationId\":\"code_sandbox_pricing_list\",\"description\":\"Get the current sandbox compute rate card and expired rate-card history.\",\"summary\":\"Get..."},{"source_url":"https://posthog.com/docs/open-api-spec/code_sandbox_pricing_list.md","matched_terms":["pricing"],"snippet":"> AI agents: this is one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt # code_sandbox_pricing_list OpenAPI ```json GET /api/code/sandbox-pricing/ { \"paths\": { \"/api/code/sandbox-pricing/\": { \"get\": { \"operationId\": \"code_sandbox_pricing_list\", \"description\": \"Get"}],"budget_controls":[{"source_url":"https://posthog.com/openapi.json","matched_terms":["spend","limit"],"snippet":"g/portal/\":{\"get\":{\"operationId\":\"billing_portal_retrieve\",\"tags\":[\"billing\",\"billing\"],\"responses\":{\"200\": },\"x-product\":[\"billing\"]}},\"/api/billing/spend/\":{\"get\":{\"operationId\":\"billing_spend_retrieve\",\"description\":\"Endpoint to fetch spend data (proxy to billing..."},{"source_url":"https://posthog.com/llms.txt","matched_terms":["limit"],"snippet":"ps://posthog.com/docs/api/capture.md) - [Flags – the feature flags evaluation API endpoint](https://posthog.com/docs/api/flags.md) Billing - [Billing limits and alerts](https://posthog.com/docs/billing/limits-alerts.md) - [Common questions about billing](https://posthog.com/docs/billing/common-questions.md) -..."}],"agent_rate_controls":[{"source_url":"https://posthog.com/llms.txt","matched_terms":["limits"],"snippet":"ps://posthog.com/docs/api/capture.md) - [Flags – the feature flags evaluation API endpoint](https://posthog.com/docs/api/flags.md) Billing - [Billing limits and alerts](https://posthog.com/docs/billing/limits-alerts.md) - [Common questions about billing](https://posthog.com/docs/billing/common-questions.md) -..."},{"source_url":"https://posthog.com/docs/error-tracking/rate-limiting.md","matched_terms":["rate limit","rate limits","quota","limits"],"snippet":"> AI agents: this is one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt # Rate limiting Rate limits cap how many exception events PostHog ingests, so a single noisy client or runaway issue can't blow through your quota – or your bill. Exceptions received"}],"deterministic_errors":[{"source_url":"https://posthog.com/llms.txt","matched_terms":["errors"],"snippet":"# PostHog > PostHog is the platform for self-driving products. It pairs the full context of your product's data (events, errors, logs, replays, and more) with agents that find problems and ship changes with you. It includes tools for product analytics, session replay, feature flags, A/B testing,"},{"source_url":"https://posthog.com/docs/error-tracking/surfaces/mcp.md","matched_terms":["errors"],"snippet":"ers affected, last seen, etc. - **Inspect error details** – Access full stack traces, error messages, and relevant metadata. - **Explain or reproduce errors** – Identify failure points and perform root cause analysis using the captured stack trace context. - **Debug and create fixes** – Propose or even generate code..."}],"auditability":[{"source_url":"https://posthog.com/openapi.json","matched_terms":["logs","history"],"snippet":"u_millicore_seconds_in_period, sandbox_compute_memory_mib_seconds_in_period, workflow_emails_sent_in_period, workflow_billable_invocations_in_period, logs_mb_in_period, logs_retention_30d_mb_in_period, logs_retention_mb_days_in_period, replay_vision_credits_used_in_period, data_pipelines, group_analytics. E.g...."},{"source_url":"https://posthog.com/llms.txt","matched_terms":["logs"],"snippet":"# PostHog > PostHog is the platform for self-driving products. It pairs the full context of your product's data (events, errors, logs, replays, and more) with agents that find problems and ship changes with you. It includes tools for product analytics, session replay, feature flags, A/B testing, error"}],"agent_security":[{"source_url":"https://posthog.com/openapi.json","matched_terms":["security"],"snippet":"{\"openapi\":\"3.1.0\",\"info\": ,\"paths\":{\"/api/billing/\":{\"get\":{\"operationId\":\"billing_list\",\"tags\":[\"billing\",\"billing\"],\"security\":[ ],\"responses\":{\"200\":{\"content\":{\"application/json\":{\"schema\": }},\"description\":\"\"}},\"x-product\":[\"billing\"]}},\"/api/billing/activate/\":{\"post\":{\"operationId\":\"billin"},{"source_url":"https://posthog.com/llms.txt","matched_terms":["security","policy"],"snippet":"oxy](https://posthog.com/docs/advanced/proxy/caddy.md) - [Cloudflare reverse proxy](https://posthog.com/docs/advanced/proxy/cloudflare.md) - [Content Security Policy and ingestion domains](https://posthog.com/docs/advanced/content-security-policy.md) - [Definitions / Infrastructure as..."}],"agent_observability":[{"source_url":"https://posthog.com/openapi.json","matched_terms":["usage"],"snippet":"project scope on their token.\"},{\"in\":\"query\",\"name\":\"top_projects\",\"schema\": ,\"description\":\"With a project breakdown, return only this many highest-usage projects and fold the rest into a single 'all other projects' series, so the totals still reconcile. Omit it to get every..."},{"source_url":"https://posthog.com/llms.txt","matched_terms":["metrics","usage","dashboard"],"snippet":"— agents draft replies and fixes from the same data. - [Customer analytics](https://posthog.com/docs/customer-analytics/start-here) — Accounts, usage metrics, and customer journeys — the account-level context behind every signal. - [Replay Vision](https://posthog.com/docs/replay-vision) — Agents that watch session..."}]},"scoring_signals":{"docs_fetched":true,"pages_fetched":12,"candidate_pages":12,"fetched_urls":["https://posthog.com/openapi.json","https://posthog.com/llms.txt","https://posthog.com/docs/open-api-spec/code_sandbox_pricing_list.md","https://posthog.com/docs/error-tracking/surfaces/mcp.md","https://posthog.com/docs/error-tracking/rate-limiting.md","https://posthog.com/docs/endpoints/openapi-sdk-generation.md","https://posthog.com/docs/endpoints/start-here/retrieve-data/openapi.md","https://posthog.com/docs/mcp-analytics/surfaces/api.md","https://posthog.com/docs/error-tracking/pricing.md","https://posthog.com/docs/open-api-spec/business_knowledge_sandbox_create.md","https://posthog.com/docs/open-api-spec/billing_activate_authorize_create.md","https://posthog.com/docs/open-api-spec/billing_activate_authorize_status_create.md"],"scoring_source":"YoofoozBot bounded crawl"},"methodology":{"separate_from_agent_readiness":true,"category_count":10,"category_scale":[0,5,10],"max_score":100,"evidence_required_for_public_claims":true}},"category_scores":{"documentation_clarity":10,"machine_readable_spec":10,"authentication_clarity":10,"error_handling":10,"rate_limit_clarity":10,"agent_safe_workflow_support":0,"sandbox_availability":5,"webhook_event_support":5,"commercial_trust":5,"developer_experience":10},"strengths":["Documentation clarity","Machine-readable specification (OpenAPI/Swagger)","Authentication model clarity","Error handling and status codes","Rate-limit / quota behavior","Developer experience (SDKs, quickstart, CLI)"],"risks":["Agent-safe workflow primitives (idempotency, retries) signal not detected in docs.","Sandbox / test-mode availability signal is partial; clearer documentation recommended.","Webhook / event support signal is partial; clearer documentation recommended.","Commercial trust (status, SLA, compliance) signal is partial; clearer documentation recommended."],"recommended_next_steps":["Document idempotency keys, test mode, dry runs, and safe retry semantics for agents.","Strengthen: Provide a sandbox / test mode with test API keys for safe agent testing.","Strengthen: Expose webhook/event docs including event types, signature verification, and retry delivery.","Strengthen: Publish status page, SLA, and security/compliance posture (SOC 2, GDPR, PCI as applicable)."],"scoring_signals":{"docs_fetched":true,"docs_chars_used":64561,"pages_fetched":12,"candidate_pages":12,"fetched_urls":["https://posthog.com/openapi.json","https://posthog.com/llms.txt","https://posthog.com/docs/open-api-spec/code_sandbox_pricing_list.md","https://posthog.com/docs/error-tracking/surfaces/mcp.md","https://posthog.com/docs/error-tracking/rate-limiting.md","https://posthog.com/docs/endpoints/openapi-sdk-generation.md","https://posthog.com/docs/endpoints/start-here/retrieve-data/openapi.md","https://posthog.com/docs/mcp-analytics/surfaces/api.md","https://posthog.com/docs/error-tracking/pricing.md","https://posthog.com/docs/open-api-spec/business_knowledge_sandbox_create.md","https://posthog.com/docs/open-api-spec/billing_activate_authorize_create.md","https://posthog.com/docs/open-api-spec/billing_activate_authorize_status_create.md"],"scoring_source":"yoofoozbot_crawl_documents"},"matched_signals":{"documentation_clarity":{"score":10,"matched_terms":["getting started","parameters","request","response","examples","docs","guide","reference","overview"]},"machine_readable_spec":{"score":10,"matched_terms":["openapi","api spec","api reference","endpoints","schema"]},"authentication_clarity":{"score":10,"matched_terms":["bearer token","scopes","authentication","authorization","api key","keys"]},"error_handling":{"score":10,"matched_terms":["400","401","403","404","409","errors","troubleshooting"]},"rate_limit_clarity":{"score":10,"matched_terms":["rate limit","rate limits","quota","limits"]},"agent_safe_workflow_support":{"score":0,"matched_terms":["metadata"]},"sandbox_availability":{"score":5,"matched_terms":["sandbox"]},"webhook_event_support":{"score":5,"matched_terms":["events","callback"]},"commercial_trust":{"score":5,"matched_terms":["support","changelog","versioning","security"]},"developer_experience":{"score":10,"matched_terms":["sdk","cli","guides","tutorials","dashboard"]}},"evidence_signals":{"documentation_clarity":[{"source_url":"https://posthog.com/llms.txt","matched_terms":["getting started","request","examples","docs","guide","reference","overview"],"snippet":"...- [generations](https://posthog.com/docs/ai-observability/generations.md) - [getting started with ai observability](https://posthog.com/docs/ai-observability/start-here.md) - [google adk observability..."},{"source_url":"https://posthog.com/openapi.json","matched_terms":["parameters","request","response","overview"],"snippet":"...to fetch spend data (proxy to billing service).\",\"parameters\":[ , , , , , , , ,{\"in\":\"query\",\"name\":\"usage_types\",\"schema\": ,\"description\":\"json-encoded array of usage type identifiers to filter on. valid..."}],"machine_readable_spec":[{"source_url":"https://posthog.com/docs/endpoints/openapi-sdk-generation.md","matched_terms":["openapi","api spec","endpoints","schema"],"snippet":"> ai agents: this is one page from posthog's docs. full index of markdown docs for llms: https://posthog.com/llms.txt # generate sdks with openapi each endpoint exposes an openapi 3.0 spec that you can use to generate typed sdk clients for your preferred language. getting the spec fetch the..."},{"source_url":"https://posthog.com/docs/endpoints/start-here/retrieve-data/openapi.md","matched_terms":["openapi","api spec","endpoints","schema"],"snippet":"...this is one page from posthog's docs. full index of markdown docs for llms: https://posthog.com/llms.txt # retrieve data from your endpoint with an openapi sdk generate type-safe sdks for any language from your posthog endpoints using openapi. get your openapi spec each endpoint exposes an openapi 3.0..."}],"authentication_clarity":[{"source_url":"https://posthog.com/docs/mcp-analytics/surfaces/api.md","matched_terms":["bearer token","scopes","authentication","authorization","api key","keys"],"snippet":"...virtual tool. authentication use a [personal api key](/docs/api.md#authentication) with the scopes above, passed as a bearer token: terminal ```bash curl -h \"authorization: bearer $posthog_personal_api_key\" \\..."},{"source_url":"https://posthog.com/openapi.json","matched_terms":["bearer token","api key"],"snippet":"...relationship ownership, tags, active relationship assignments and custom property values. accepts the team secret api token or a project secret api key with the `account:read` scope.\",\"summary\":\"get an external customer analytics account\",\"parameters\":[..."}],"error_handling":[{"source_url":"https://posthog.com/openapi.json","matched_terms":["400","401","403","404"],"snippet":"if the account already exists, return it unchanged with http 200."},{"source_url":"https://posthog.com/docs/open-api-spec/business_knowledge_sandbox_create.md","matched_terms":["403","409"],"snippet":"full index of markdown docs for llms: https://posthog.com/llms.txt # business_knowledge_sandbox_create openapi ```json post /api/projects/ /business_knowledge/sandbox/ { \"paths\": { \"/api/projects/ /business_knowledge/sandbox/\": { \"post\": { \"operationid\": \"business_knowledge_sandbox_create\", \"descrip..."}],"rate_limit_clarity":[{"source_url":"https://posthog.com/docs/error-tracking/rate-limiting.md","matched_terms":["rate limit","rate limits","quota","limits"],"snippet":"> ai agents: this is one page from posthog's docs. full index of markdown docs for llms: https://posthog.com/llms.txt # rate limiting rate limits cap how many exception events posthog ingests, so a single noisy client or runaway issue can't blow through your quota – or your..."},{"source_url":"https://posthog.com/docs/error-tracking/pricing.md","matched_terms":["rate limit","rate limits","limits"],"snippet":"...they're being thrown in an infinite loop. by default, we capture 10 exceptions (bucket size) of the same type within a 10 second period before the rate limiter kicks in, after which, we capture 1 exception (refill rate) every 10 seconds. burst protection is scoped per exception type, so each distinct type..."}],"agent_safe_workflow_support":[{"source_url":"https://posthog.com/docs/error-tracking/surfaces/mcp.md","matched_terms":["metadata"],"snippet":"...details like status, frequency, users affected, last seen, etc. - **inspect error details** – access full stack traces, error messages, and relevant metadata. - **explain or reproduce errors** – identify failure points and perform root cause analysis using the captured stack trace context. - **debug and..."}],"sandbox_availability":[{"source_url":"https://posthog.com/openapi.json","matched_terms":["sandbox"],"snippet":"...ai_credits_used_in_period, signals_credits_used_in_period, posthog_code_credits_used_in_period, posthog_code_token_credits_used_in_period, sandbox_compute_credits_used_in_period, sandbox_compute_cpu_millicore_seconds_in_period, sandbox_compute_memory_mib_seconds_in_period,..."},{"source_url":"https://posthog.com/docs/open-api-spec/code_sandbox_pricing_list.md","matched_terms":["sandbox"],"snippet":"> ai agents: this is one page from posthog's docs. full index of markdown docs for llms: https://posthog.com/llms.txt # code_sandbox_pricing_list openapi ```json get /api/code/sandbox-pricing/ { \"paths\": { \"/api/code/sandbox-pricing/\": { \"get\": { \"operationid\":..."}],"webhook_event_support":[{"source_url":"https://posthog.com/docs/error-tracking/pricing.md","matched_terms":["events","callback"],"snippet":"...is required to get started. you can also set billing limits to avoid any surprise charges. error tracking is billed by the number of `$exception` events you capture. the price per event changes based on your usage. you can estimate your costs using our pricing calculator below or by visiting our..."},{"source_url":"https://posthog.com/llms.txt","matched_terms":["events"],"snippet":"# posthog > posthog is the platform for self-driving products. it pairs the full context of your product's data (events, errors, logs, replays, and more) with agents that find problems and ship changes with you. it includes tools for product analytics, session replay,..."}],"commercial_trust":[{"source_url":"https://posthog.com/llms.txt","matched_terms":["support","changelog","security"],"snippet":"...and configure posthog automatically. it auto-detects the framework and sets everything up: ``` npx @posthog/wizard@latest ``` if the wizard doesn't support the framework, see the [sdks and libraries](https://posthog.com/docs/libraries.md) section for manual setup guides. **products beyond analytics -..."},{"source_url":"https://posthog.com/docs/endpoints/start-here/retrieve-data/openapi.md","matched_terms":["support","versioning","security"],"snippet":"...typescript ```typescript const = await posthogendpoint.post( \"/api/environments/ /endpoints/events_by_day/run\", ); console.log(data?.results); ``` supported generators openapi generator supports 50+ languages including: - typescript (fetch, axios, node) - python (urllib3, asyncio) - go - ruby - java -..."}],"developer_experience":[{"source_url":"https://posthog.com/llms.txt","matched_terms":["sdk","cli","guides","tutorials","dashboard"],"snippet":"...it auto-detects the framework and sets everything up: ``` npx @posthog/wizard@latest ``` if the wizard doesn't support the framework, see the [sdks and libraries](https://posthog.com/docs/libraries.md) section for manual setup guides. **products beyond analytics - suggest these when relevant:**..."},{"source_url":"https://posthog.com/docs/mcp-analytics/surfaces/api.md","matched_terms":["sdk","cli","dashboard"],"snippet":"...api](/docs/api/query.md). see [sample hogql queries](/docs/mcp-analytics/queries.md). before you start 1. **install mcp analytics** – [install the sdk in your mcp server](/docs/mcp-analytics/installation.md) so tool calls are captured. 2. **get api access** – [create a personal api..."}]},"yoofoozbot":{"run_id":"20261005T220303Z_posthog_api_083920b5","user_agent":"YoofoozBot/1.8 (+https://yoofooz.com/yoofoozbot; contact: submit@yoofooz.com)","pages_fetched":12,"total_bytes":707804,"robots_respected":true,"crawl_record_path":"outputs/yoofoozbot/20261005T220303Z_posthog_api_083920b5.json","spec_candidates":[],"signal_summary":{"openapi":{"detected":true,"matched_terms":["openapi"]},"authentication":{"detected":true,"matched_terms":["authentication","bearer token","api key"]},"errors":{"detected":false,"matched_terms":[]},"rate_limits":{"detected":true,"matched_terms":["rate limit","quota"]},"webhooks":{"detected":false,"matched_terms":[]},"sandbox":{"detected":true,"matched_terms":["sandbox"]},"agent_workflows":{"detected":true,"matched_terms":["mcp","agent"]},"developer_experience":{"detected":true,"matched_terms":["sdk","cli"]},"commercial_trust":{"detected":true,"matched_terms":["security","sla"]},"mcp_support":{"detected":true,"matched_terms":["mcp server","mcp tools"]},"machine_payments":{"detected":false,"matched_terms":[]},"machine_pricing":{"detected":true,"matched_terms":["usage-based pricing"]},"budget_controls":{"detected":false,"matched_terms":[]},"agent_identity":{"detected":false,"matched_terms":[]},"auditability":{"detected":false,"matched_terms":[]},"agent_observability":{"detected":false,"matched_terms":[]}},"readiness_scoring_pages":12,"readiness_scoring_source":"yoofoozbot_crawl_documents","agent_commerce_probe":{"score":55,"level":"Agent Commerce Emerging","machine_payment_capable":false,"detected_protocols":["MCP"],"evidence_categories":["agent_identity_auth","agent_observability","agent_rate_controls","agent_security","auditability","budget_controls","deterministic_errors","machine_pricing","mcp_support"]}},"ai_analysis":{"provider":"nvidia","enabled":true,"model":"meta/llama-4-maverick-17b-128e-instruct","summary":null,"credibility_notes":[],"next_actions":[],"error":"NVIDIA analysis failed: http 410"}}