# SDKs Overview

URL: https://pieowl.com/docs/sdks





Pieowl has SDKs for the web, Node.js and React Native. For every other language, you send events with a plain HTTP request to the [Track API](/docs/api/track).

Quick start [#quick-start]

For most web projects, start with one of these:

* **[Script Tag](/docs/sdks/script)**: The fastest way to start, no build step
* **[Web SDK](/docs/sdks/web)**: For TypeScript and more control
* **[Next.js](/docs/sdks/nextjs)**: The script tag via `next/script` | [Setup guide](/guides/nextjs-analytics)

Web and browser [#web-and-browser]

Simple integration [#simple-integration]

* **[Script Tag](/docs/sdks/script)**: Add analytics with one `<script>` tag
  * No build step
  * Works on any website
  * Tracks page views automatically

JavaScript and TypeScript [#javascript-and-typescript]

* **[Web SDK](/docs/sdks/web)** (`@pieowl/web`): Browser SDK with TypeScript types
  * Typed API
  * Page views, outgoing links and `data-track` clicks, chosen in Settings → Site
  * Optional session replay

* **[JavaScript (Node / Generic)](/docs/sdks/javascript)** (`@pieowl/sdk`): Core SDK
  * Works in Node.js and other JavaScript runtimes
  * No framework needed
  * Full tracking API

Frontend frameworks [#frontend-frameworks]

Next.js, Astro and Nuxt use the [Script Tag](/docs/sdks/script), plus [`@pieowl/bots`](#server-side) on the server for AI crawlers and the ad-blocker proxy:

* **[Next.js](/docs/sdks/nextjs)** | [Setup guide](/guides/nextjs-analytics)

* **[Astro](/docs/sdks/astro)** | [Setup guide](/guides/astro-analytics)

* **[Nuxt](/docs/sdks/nuxt)** | [Setup guide](/guides/nuxt-analytics)

* **[React](/docs/sdks/react)**: Use the Web SDK | [Setup guide](/guides/react-analytics)

* **[Vue](/docs/sdks/vue)**: Use the Web SDK | [Setup guide](/guides/vue-analytics)

* **[Remix](/docs/sdks/remix)**: Use the Script Tag or Web SDK | [Setup guide](/guides/remix-analytics)

* **Svelte, Angular, Solid.js**: Use the [Script Tag](/docs/sdks/script) or [Web SDK](/docs/sdks/web)

Server side [#server-side]

* **[JavaScript (Node / Generic)](/docs/sdks/javascript)** (`@pieowl/sdk`): Server-side events from any Node.js server. See [Express](/docs/sdks/express) | [Setup guide](/guides/express-analytics)

* **[AI crawlers and bots](/docs/ai-bots)** (`@pieowl/bots`): Report the AI crawlers and search bots the script can't see
  * Next.js, Express, Hono, Cloudflare Workers and any server with a Fetch `Request`
  * Never blocks or slows your pages
  * Includes a proxy that serves the script from your own domain, [past ad blockers](/docs/adblockers)

* **HTTP API for other languages**: Pieowl doesn't ship native SDKs for these languages. Each page shows how to send events with the language's own HTTP tools:
  * [Python](/docs/sdks/python)
  * [Ruby](/docs/sdks/ruby)
  * [Java](/docs/sdks/java)
  * [Kotlin](/docs/sdks/kotlin)
  * [Rust](/docs/sdks/rust)

Mobile [#mobile]

* **[React Native](/docs/sdks/react-native)** (`@pieowl/react-native`) | [Setup guide](/guides/react-native-analytics)
  * iOS and Android
  * Built for Expo
  * Optional offline queue

* **[Swift](/docs/sdks/swift)**: Send events from iOS and macOS apps with the HTTP API

* **[Kotlin](/docs/sdks/kotlin)**: Send events from Android apps with the HTTP API

Need help choosing? [#need-help-choosing]

<Callout>
  * **Static website or HTML?** Use the [Script Tag](/docs/sdks/script)
  * **React app?** Use the [Web SDK](/docs/sdks/web) or the [Script Tag](/docs/sdks/script)
  * **Next.js app?** Use the [Script Tag with `next/script`](/docs/sdks/nextjs)
  * **Node.js server?** Use the [JavaScript SDK](/docs/sdks/javascript), and [`@pieowl/bots`](/docs/ai-bots) for AI crawlers
  * **Another backend language?** Use the [HTTP API](/docs/api/track)
  * **Mobile app?** Use [React Native](/docs/sdks/react-native), or the HTTP API from [Swift](/docs/sdks/swift) or [Kotlin](/docs/sdks/kotlin)
</Callout>

Core features [#core-features]

Every SDK and the HTTP API support:

Event tracking [#event-tracking]

Track custom events with properties to see what users do.

User identification [#user-identification]

Link events to your users and build user profiles.

Global properties [#global-properties]

Set properties once and send them with every event (SDKs only).

Increment and decrement [#increment-and-decrement]

Change numeric properties on user profiles.

Privacy [#privacy]

No cookies, and IP addresses are never stored.

API reference [#api-reference]

To track events with plain HTTP requests, read the [Track API](/docs/api/track).

Support [#support]

Email us at [hello@pieowl.com](mailto:hello@pieowl.com).
