Apitally integrates with your application through open-source SDKs built on OpenTelemetry. The SDKs send data directly to Apitally, without requiring a separate collector or agent, and can work alongside an existing OpenTelemetry setup.
SDK for Python
SDK for Node.js
SDK for Go
SDK for .NET
The SDKs include the following functionality:
Discovery of available endpoints in your application
Capture of request and response data, including traces
Capture of application logs associated with requests
Aggregation of request metrics and collection of application CPU and memory usage
Background export of collected data to Apitally
The SDKs are designed to be resilient to temporary network failures when communicating with Apitally and will retry sending data for up to 1 hour.
As your application handles requests, the SDK captures the HTTP method, matched route and response status code. It also measures server-side response time and the sizes of request and response bodies. It aggregates this data locally into request metrics, grouped by endpoint, status code and consumer.Alongside these metrics, the SDK builds traces of individual requests, linking instrumented operations and captured application logs to the request.The collected data is buffered locally and sent to Apitally in the background, normally about once a minute.
When Apitally receives data from your application, it queues it for asynchronous processing. The data is normally processed and visible on the dashboard within a few seconds.Request metrics are retained at 1-minute resolution for 32 days and at 30-minute resolution for 13 months. Request logs and traces are retained for 15 days, with longer retention available on request.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Apitally Docs","colors":{"primary":"#0b9797","light":"#0b9797","dark":"#0b9797"},"logo":{"light":"https://mintcdn.com/apitally/N2ERaeHClCgFy9Y6/images/logo-light.svg?fit=max\u0026auto=format\u0026n=N2ERaeHClCgFy9Y6\u0026q=85\u0026s=e1d72c6d56f4625e48a29dd012b89739","dark":"https://mintcdn.com/apitally/N2ERaeHClCgFy9Y6/images/logo-dark.svg?fit=max\u0026auto=format\u0026n=N2ERaeHClCgFy9Y6\u0026q=85\u0026s=c6aecd17ce726476be3d8a32b2b8d990"},"favicon":"https://mintcdn.com/apitally/TB-PurCnjfcCoHVd/images/favicon.svg?fit=max\u0026auto=format\u0026n=TB-PurCnjfcCoHVd\u0026q=85\u0026s=a6cf7d03f3f69f4fec43387790813a2b","background":{"image":"https://mintcdn.com/apitally/N2ERaeHClCgFy9Y6/images/background.webp?fit=max\u0026auto=format\u0026n=N2ERaeHClCgFy9Y6\u0026q=85\u0026s=da30315f44124609083957a5c3b96a38","color":{"dark":"#0e1515"}},"navbar":{"links":[{"href":"https://app.apitally.io","label":"Log in"}],"primary":{"type":"button","label":"Sign up","href":"https://app.apitally.io?signup"}},"footer":{"socials":{"github":"https://github.com/apitally","twitter":"https://twitter.com/apitally_io","linkedin":"https://www.linkedin.com/company/apitally"}},"integrations":{"posthog":{"apiKey":"phc_kOKUlIHUZPLsz5a6Bqix8h7uy5zl7SaMWSDlXhLVZka","apiHost":"https://ph.apitally.io"},"plausible":{"domain":"docs.apitally.io","server":"plsbl.apitally.io"}},"interaction":{"drilldown":false},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"apitally","hasAudioNarration":false,"actualSubdomain":"apitally","customDomains":["docs.apitally.io"],"gitSource":{"type":"github","owner":"apitally","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ade9b78500a4c24cc4c13e7","collectionId":"cf3c81e5-79af-4560-a52e-aa10732f3fe4","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ade9b78500a4c24cc4c13e7"},"feedback":{"edits":true,"issues":true},"entitlements":{},"buildId":"6ade9b78500a4c24cc4c13e7","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"SDK reference","count":145},{"language":"default","tag":"Setup guides","count":44},{"language":"default","tag":"JavaScript","count":29},{"language":"default","tag":"Python","count":25},{"language":"default","tag":"Go","count":19},{"language":"default","tag":"Documentation","count":18},{"language":"default","tag":".NET","count":13},{"language":"default","tag":"API reference","count":9},{"language":"default","tag":"API metrics","count":7},{"language":"default","tag":"Endpoints","count":7}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#sidebar,html{scrollbar-gutter:stable;scrollbar-color:#e1e2e2 #ffffff00}#sidebar{scrollbar-width:thin}html.dark,html.dark #sidebar{scrollbar-color:#252b2b #0e151500}header div:has(>[data-component-part=version-select-trigger]){flex-shrink:0;margin-left:-.5rem;order:1}header [data-component-part=products-selector-trigger]{flex-shrink:0;margin-left:.5rem}header a:has(>.nav-logo){flex-shrink:0}@media (min-width:1024px){header div:has(>a>.nav-logo){flex:0 0 30.5rem}}@media (min-width:1024px) and (max-width:1279px){header div:has(>#search-bar-entry){flex:0 1 18rem;min-width:0}}"}],"page":{"pagePath":"how-it-works","slug":"/how-it-works","pageMetadata":{"title":"How it works","description":"Seamless integration with our open-source SDKs.","href":"/how-it-works"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Seamless integration with our open-source SDKs.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={li:`li`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Heading,Note}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Apitally integrates with your application through open-source SDKs built on OpenTelemetry. The SDKs send data directly to Apitally, without requiring a separate collector or agent, and can work alongside an existing OpenTelemetry setup.`}),`\n`,_jsxs(CardGroup,{cols:3,children:[_jsx(Card,{title:`SDK for Python`,icon:`python`,href:`/sdk-reference/python/v1/overview`}),_jsx(Card,{title:`SDK for Node.js`,icon:`node-js`,href:`/sdk-reference/javascript/v1/overview`}),_jsx(Card,{title:`SDK for Go`,icon:`golang`,href:`/sdk-reference/go/v1/overview`}),_jsx(Card,{title:`SDK for .NET`,icon:`microsoft`,href:`/sdk-reference/dotnet/v1/overview`})]}),`\n`,_jsx(_components.p,{children:`The SDKs include the following functionality:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Discovery of available endpoints in your application`}),`\n`,_jsx(_components.li,{children:`Capture of request and response data, including traces`}),`\n`,_jsx(_components.li,{children:`Capture of application logs associated with requests`}),`\n`,_jsx(_components.li,{children:`Aggregation of request metrics and collection of application CPU and memory usage`}),`\n`,_jsx(_components.li,{children:`Background export of collected data to Apitally`}),`\n`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`The SDKs are designed to be resilient to temporary network failures when communicating with Apitally and will retry sending data for up to 1 hour.`})}),`\n`,_jsx(Heading,{level:`2`,id:`on-startup`,children:`On startup`}),`\n`,_jsx(_components.p,{children:`The SDK collects application metadata, such as endpoint details and version information, and sends it to Apitally in the background.`}),`\n`,_jsx(Heading,{level:`2`,id:`during-runtime`,children:`During runtime`}),`\n`,_jsx(_components.p,{children:`As your application handles requests, the SDK captures the HTTP method, matched route and response status code. It also measures server-side response time and the sizes of request and response bodies. It aggregates this data locally into request metrics, grouped by endpoint, status code and consumer.`}),`\n`,_jsx(_components.p,{children:`Alongside these metrics, the SDK builds traces of individual requests, linking instrumented operations and captured application logs to the request.`}),`\n`,_jsx(_components.p,{children:`The collected data is buffered locally and sent to Apitally in the background, normally about once a minute.`}),`\n`,_jsx(Heading,{level:`2`,id:`server-side`,children:`Server side`}),`\n`,_jsx(_components.p,{children:`When Apitally receives data from your application, it queues it for asynchronous processing. The data is normally processed and visible on the dashboard within a few seconds.`}),`\n`,_jsx(_components.p,{children:`Request metrics are retained at 1-minute resolution for 32 days and at 30-minute resolution for 13 months. Request logs and traces are retained for 15 days, with longer retention available on request.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"How it works","description":"Seamless integration with our open-source SDKs.","href":"/how-it-works"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"On startup","slug":"on-startup","depth":2,"children":[]},{"title":"During runtime","slug":"during-runtime","depth":2,"children":[]},{"title":"Server side","slug":"server-side","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"apitally","siteName":"Apitally Docs","title":"How it works - Apitally Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T13:11:58.896Z","originalFileLocation":"how-it-works.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Seamless integration with our open-source SDKs.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Apitally Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/apitally/wbLGdYpKEp4-Uamx/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/apitally/wbLGdYpKEp4-Uamx/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/apitally/wbLGdYpKEp4-Uamx/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/apitally/wbLGdYpKEp4-Uamx/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/apitally/wbLGdYpKEp4-Uamx/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/apitally/wbLGdYpKEp4-Uamx/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/apitally/wbLGdYpKEp4-Uamx/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/apitally/wbLGdYpKEp4-Uamx/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/apitally/wbLGdYpKEp4-Uamx/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"How it works - Apitally Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Seamless integration with our open-source SDKs.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Apitally Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.apitally.io/how-it-works\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://apitally.mintlify.app/_mintlify/api/og/v2?division=Overview\u0026amp;title=How+it+works\u0026amp;description=Seamless+integration+with+our+open-source+SDKs.\u0026amp;theme=f8a29e48343a1364e1ae879f\u0026amp;signature=4f4ad035573cb5fb30d7cfa7a906cc608c65755d1adf45bfa6c43a23de353808\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"How it works - Apitally Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Seamless integration with our open-source SDKs.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://apitally.mintlify.app/_mintlify/api/og/v2?division=Overview\u0026amp;title=How+it+works\u0026amp;description=Seamless+integration+with+our+open-source+SDKs.\u0026amp;theme=f8a29e48343a1364e1ae879f\u0026amp;signature=4f4ad035573cb5fb30d7cfa7a906cc608c65755d1adf45bfa6c43a23de353808\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/apitally/wbLGdYpKEp4-Uamx/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Apitally Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0b9797\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.apitally.io/how-it-works\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/how-it-works.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.apitally.io/#organization\",\"name\":\"Apitally Docs\",\"url\":\"https://docs.apitally.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/apitally/N2ERaeHClCgFy9Y6/images/logo-light.svg?fit=max\u0026auto=format\u0026n=N2ERaeHClCgFy9Y6\u0026q=85\u0026s=e1d72c6d56f4625e48a29dd012b89739\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.apitally.io#website\",\"name\":\"Apitally Docs\",\"url\":\"https://docs.apitally.io\",\"publisher\":{\"@id\":\"https://docs.apitally.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.apitally.io/how-it-works#webpage\",\"url\":\"https://docs.apitally.io/how-it-works\",\"name\":\"How it works\",\"description\":\"Seamless integration with our open-source SDKs.\",\"dateModified\":\"2026-10-21T13:11:58.896Z\",\"isPartOf\":{\"@id\":\"https://docs.apitally.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.apitally.io/how-it-works#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.apitally.io/how-it-works#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Overview\",\"item\":\"https://docs.apitally.io/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How it works\",\"item\":\"https://docs.apitally.io/how-it-works\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.apitally.io/how-it-works#article\",\"headline\":\"How it works\",\"name\":\"How it works\",\"description\":\"Seamless integration with our open-source SDKs.\",\"url\":\"https://docs.apitally.io/how-it-works\",\"mainEntityOfPage\":{\"@id\":\"https://docs.apitally.io/how-it-works#webpage\"},\"dateModified\":\"2026-10-21T13:11:58.896Z\",\"publisher\":{\"@id\":\"https://docs.apitally.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.apitally.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Apitally Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Apitally Docs","nav":{"global":null,"anchors":[{"anchor":"Documentation","icon":"book-open","groups":[{"group":"Overview","icon":"map","pages":[{"title":"Introduction","description":"Apitally makes API monitoring and analytics simple. Get API metrics, request logs, traces, and alerts by adding just a few lines of code.","href":"/introduction"},{"title":"How it works","href":"/how-it-works"},{"title":"Data privacy","description":"How Apitally handles data collection, storage, and retention.","href":"/data-privacy"},{"title":"Usage limits","href":"/usage-limits"},{"title":"Support","href":"/support"}]},{"group":"API metrics","icon":"chart-line","pages":[{"title":"Apps overview","sidebarTitle":"Overview","href":"/api-metrics/overview"},{"title":"API traffic dashboard","sidebarTitle":"Traffic","href":"/api-metrics/traffic"},{"title":"API errors dashboard","sidebarTitle":"Errors","href":"/api-metrics/errors"},{"title":"API performance dashboard","sidebarTitle":"Performance","href":"/api-metrics/performance"},{"title":"API consumer insights","sidebarTitle":"Consumers","href":"/api-metrics/consumers"},{"title":"API endpoint insights","sidebarTitle":"Endpoints","href":"/api-metrics/endpoints"},{"title":"Resources dashboard","sidebarTitle":"CPU \u0026 memory","href":"/api-metrics/resources"}]},{"group":"API logs \u0026 traces","icon":"list","pages":[{"title":"API request logs","sidebarTitle":"Request logs","href":"/api-logs-traces/request-logs"},{"title":"Application logs","sidebarTitle":"Application logs","href":"/api-logs-traces/application-logs"},{"title":"Traces","sidebarTitle":"Traces","href":"/api-logs-traces/traces"}]},{"group":"API monitoring","icon":"bell","pages":[{"title":"API uptime monitoring","sidebarTitle":"Uptime","href":"/api-monitoring/uptime"},{"title":"Custom alerts","sidebarTitle":"Alerts","href":"/api-monitoring/alerts"}]},{"group":"For agents","icon":"robot","pages":[{"title":"Apitally CLI and skill for agents","sidebarTitle":"CLI \u0026 skill","href":"/agents/cli-and-skill"}]}]},{"anchor":"SDK reference","icon":"box-isometric","products":[{"product":"Overview","icon":"book","pages":[{"title":"Overview","href":"/sdk-reference/overview"}]},{"product":"Python","icon":"python","versions":[{"version":"v1","groups":[{"group":"SDK reference","icon":"book","pages":[{"title":"Python SDK reference","sidebarTitle":"Overview","mode":"wide","href":"/sdk-reference/python/v1/overview"},{"title":"Configuration","href":"/sdk-reference/python/v1/configuration"},{"title":"Masking","href":"/sdk-reference/python/v1/masking"},{"title":"Sampling","href":"/sdk-reference/python/v1/sampling"},{"title":"Tracing instrumentation","sidebarTitle":"Tracing","href":"/sdk-reference/python/v1/tracing"},{"title":"Attributes","href":"/sdk-reference/python/v1/attributes"},{"title":"Migration from v0","href":"/sdk-reference/python/v1/migration"}]},{"group":"Setup guides","icon":"rocket","pages":[{"title":"Setup guide for BlackSheep","sidebarTitle":"BlackSheep","href":"/sdk-reference/python/v1/setup-guides/blacksheep"},{"title":"Setup guide for Django Ninja","sidebarTitle":"Django Ninja","href":"/sdk-reference/python/v1/setup-guides/django-ninja"},{"title":"Setup guide for Django REST Framework","sidebarTitle":"Django REST Framework","href":"/sdk-reference/python/v1/setup-guides/django-rest-framework"},{"title":"Setup guide for FastAPI","sidebarTitle":"FastAPI","href":"/sdk-reference/python/v1/setup-guides/fastapi"},{"title":"Setup guide for Flask","sidebarTitle":"Flask","href":"/sdk-reference/python/v1/setup-guides/flask"},{"title":"Setup guide for Litestar","sidebarTitle":"Litestar","href":"/sdk-reference/python/v1/setup-guides/litestar"},{"title":"Setup guide for Starlette","sidebarTitle":"Starlette","href":"/sdk-reference/python/v1/setup-guides/starlette"}]}]},{"version":"v0","pages":[{"title":"v0","href":"/sdk-reference/python/v0/overview"}]}]},{"product":"JavaScript","icon":"node-js","versions":[{"version":"v1","groups":[{"group":"SDK reference","icon":"book","pages":[{"title":"JavaScript SDK reference","sidebarTitle":"Overview","mode":"wide","href":"/sdk-reference/javascript/v1/overview"},{"title":"Configuration","href":"/sdk-reference/javascript/v1/configuration"},{"title":"Masking","href":"/sdk-reference/javascript/v1/masking"},{"title":"Sampling","href":"/sdk-reference/javascript/v1/sampling"},{"title":"Tracing instrumentation","sidebarTitle":"Tracing","href":"/sdk-reference/javascript/v1/tracing"},{"title":"Attributes","href":"/sdk-reference/javascript/v1/attributes"},{"title":"Migration from v0","href":"/sdk-reference/javascript/v1/migration"}]},{"group":"Setup guides","icon":"rocket","pages":[{"title":"Setup guide for AdonisJS","sidebarTitle":"AdonisJS","href":"/sdk-reference/javascript/v1/setup-guides/adonisjs"},{"title":"Setup guide for Elysia","sidebarTitle":"Elysia","href":"/sdk-reference/javascript/v1/setup-guides/elysia"},{"title":"Setup guide for Express","sidebarTitle":"Express","href":"/sdk-reference/javascript/v1/setup-guides/express"},{"title":"Setup guide for Fastify","sidebarTitle":"Fastify","href":"/sdk-reference/javascript/v1/setup-guides/fastify"},{"title":"Setup guide for H3 v2","sidebarTitle":"H3","href":"/sdk-reference/javascript/v1/setup-guides/h3"},{"title":"Setup guide for hapi","sidebarTitle":"hapi","href":"/sdk-reference/javascript/v1/setup-guides/hapi"},{"title":"Setup guide for Hono","sidebarTitle":"Hono","href":"/sdk-reference/javascript/v1/setup-guides/hono"},{"title":"Setup guide for Koa","sidebarTitle":"Koa","href":"/sdk-reference/javascript/v1/setup-guides/koa"},{"title":"Setup guide for NestJS","sidebarTitle":"NestJS","href":"/sdk-reference/javascript/v1/setup-guides/nestjs"}]}]},{"version":"v0","pages":[{"title":"v0","href":"/sdk-reference/javascript/v0/overview"}]}]},{"product":"Go","icon":"golang","versions":[{"version":"v1","groups":[{"group":"SDK reference","icon":"book","pages":[{"title":"Go SDK reference","sidebarTitle":"Overview","mode":"wide","href":"/sdk-reference/go/v1/overview"},{"title":"Configuration","href":"/sdk-reference/go/v1/configuration"},{"title":"Masking","href":"/sdk-reference/go/v1/masking"},{"title":"Sampling","href":"/sdk-reference/go/v1/sampling"},{"title":"Tracing instrumentation","sidebarTitle":"Tracing","href":"/sdk-reference/go/v1/tracing"},{"title":"Attributes","href":"/sdk-reference/go/v1/attributes"},{"title":"Migration from v0","href":"/sdk-reference/go/v1/migration"}]},{"group":"Setup guides","icon":"rocket","pages":[{"title":"Setup guide for Chi","sidebarTitle":"Chi","href":"/sdk-reference/go/v1/setup-guides/chi"},{"title":"Setup guide for Echo","sidebarTitle":"Echo","href":"/sdk-reference/go/v1/setup-guides/echo"},{"title":"Setup guide for Fiber","sidebarTitle":"Fiber","href":"/sdk-reference/go/v1/setup-guides/fiber"},{"title":"Setup guide for Gin","sidebarTitle":"Gin","href":"/sdk-reference/go/v1/setup-guides/gin"}]}]},{"version":"v0","pages":[{"title":"v0","href":"/sdk-reference/go/v0/overview"}]}]},{"product":".NET","icon":"microsoft","versions":[{"version":"v1","groups":[{"group":"SDK reference","icon":"book","pages":[{"title":".NET SDK reference","sidebarTitle":"Overview","mode":"wide","href":"/sdk-reference/dotnet/v1/overview"},{"title":"Configuration","href":"/sdk-reference/dotnet/v1/configuration"},{"title":"Masking","href":"/sdk-reference/dotnet/v1/masking"},{"title":"Sampling","href":"/sdk-reference/dotnet/v1/sampling"},{"title":"Tracing instrumentation","sidebarTitle":"Tracing","href":"/sdk-reference/dotnet/v1/tracing"},{"title":"Attributes","href":"/sdk-reference/dotnet/v1/attributes"},{"title":"Migration from v0","href":"/sdk-reference/dotnet/v1/migration"}]},{"group":"Setup guides","icon":"rocket","pages":[{"title":"Setup guide for ASP.NET Core","sidebarTitle":"ASP.NET Core","href":"/sdk-reference/dotnet/v1/setup-guides/aspnet-core"}]}]},{"version":"v0","pages":[{"title":"v0","href":"/sdk-reference/dotnet/v0/overview"}]}]},{"product":"Python Serverless","icon":"python","versions":[{"version":"v0","groups":[{"group":"SDK reference","icon":"book","pages":[{"title":"Python Serverless SDK reference","sidebarTitle":"Overview","mode":"wide","href":"/sdk-reference/python-serverless/v0/overview"},{"title":"Configuration","mode":"wide","href":"/sdk-reference/python-serverless/v0/configuration"},{"title":"Masking and filtering","sidebarTitle":"Masking \u0026 filtering","href":"/sdk-reference/python-serverless/v0/masking-filtering"}]},{"group":"Setup guides","icon":"rocket","pages":[{"title":"Setup guide for FastAPI on Cloudflare Workers","sidebarTitle":"FastAPI","href":"/sdk-reference/python-serverless/v0/setup-guides/fastapi-cloudflare-workers"}]}]}]},{"product":"JavaScript Serverless","icon":"node-js","versions":[{"version":"v0","groups":[{"group":"SDK reference","icon":"book","pages":[{"title":"JavaScript Serverless SDK reference","sidebarTitle":"Overview","mode":"wide","href":"/sdk-reference/javascript-serverless/v0/overview"},{"title":"Configuration","mode":"wide","href":"/sdk-reference/javascript-serverless/v0/configuration"},{"title":"Masking and filtering","sidebarTitle":"Masking \u0026 filtering","href":"/sdk-reference/javascript-serverless/v0/masking-filtering"}]},{"group":"Setup guides","icon":"rocket","pages":[{"title":"Setup guide for Hono on Cloudflare Workers","sidebarTitle":"Hono","href":"/sdk-reference/javascript-serverless/v0/setup-guides/hono-cloudflare-workers"}]}]}]}]},{"anchor":"API reference","icon":"brackets-curly","pages":[{"title":"API reference","href":"/api-reference"}]},{"anchor":"Website","icon":"globe","href":"https://apitally.io"}]},"basePath":"","title":"How it works - Apitally Docs","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}