# Quickstart

Source: https://pushary.com/docs/web-push/quickstart
Last updated: 2026-05-11

> Send your first web push notification in 5 minutes

<Steps>
  <Step>
    ## Create your account [#create-your-account]

    Sign up at [pushary.com/sign-up](https://pushary.com/sign-up). During onboarding, you'll get your site key and API key.

    * **Site key** (`pk_xxx`): used in the browser, safe to expose
    * **Full API key** (`pk_xxx.sk_xxx`): used on your server, keep secret
  </Step>

  <Step>
    ## Install the Client SDK [#install-the-client-sdk]

    ```bash
    npm install @pushary/sdk
    ```

    Add the service worker file to your site's public root. Download it from your dashboard or copy it from `node_modules/@pushary/sdk/dist/pushary-sw.js` to your `public/` directory.
  </Step>

  <Step>
    ## Initialize in your frontend [#initialize-in-your-frontend]

    ```typescript
    import { createPushary } from '@pushary/sdk'

    const pushary = createPushary({
      siteKey: 'pk_your_site_key',
      autoPrompt: true,
    })
    ```

    This registers the service worker and prompts visitors for notification permission.

    [Full client SDK options](/docs/web-push/client-sdk/installation)
  </Step>

  <Step>
    ## Install the Server SDK [#install-the-server-sdk]

    ```bash
    npm install @pushary/server
    ```

    ```typescript
    import { createPusharyServer } from '@pushary/server'

    const pushary = createPusharyServer({
      apiKey: process.env.PUSHARY_API_KEY,
    })
    ```
  </Step>

  <Step>
    ## Send your first notification [#send-your-first-notification]

    ```typescript
    await pushary.notifications.send({
      title: 'Hello!',
      body: 'Your first push notification from Pushary',
    })
    ```

    <Callout type="info">
      Passing no targeting parameters sends to all active subscribers. To target specific users, pass `subscriberIds`, `externalIds`, or `tags`.
    </Callout>
  </Step>

  <Step>
    ## Verify it arrived [#verify-it-arrived]

    Open your site in a browser where you've allowed notifications. You should see the push within 2 seconds.

    If it doesn't arrive, check [Troubleshooting](/docs/web-push/troubleshooting).
  </Step>
</Steps>

## Next: go deeper [#next-go-deeper]

* [Client SDK API Reference](/docs/web-push/client-sdk/api-reference): all configuration options and methods
* [Authentication](/docs/web-push/server-sdk/authentication): site keys vs full API keys
* [Campaigns](/docs/web-push/server-sdk/campaigns): schedule and target notifications
* [Flows](/docs/web-push/server-sdk/flows): automated sequences (welcome series, re-engagement)
* [WordPress integration](/docs/web-push/client-sdk/wordpress): 2-minute setup for WordPress sites