Skip to content
SocialHelper
Get API key

App builder

v0 + SocialHelper

Give the app you’re building in v0 a share button: it calls the SocialHelper API from a server function, with your API key kept in v0’s secrets.

Checked against v0’s docs on October 10, 2026

Setup

Set it up in v0.

About five minutes, from key to first post.

  1. 1

    Create an API key

    In the SocialHelper dashboard, open Developers and create a key. It starts with sh_ and is shown once, so copy it somewhere safe.

  2. 2

    Store the key as a secret

    Add SOCIALHELPER_API_KEY as an environment variable on the linked Vercel project. Choose the Encrypted type, not Sensitive: v0 can’t read sensitive variables.

  3. 3

    Ask v0 to build the share function

    Paste this prompt into v0:

    Add a “Share” button that posts the selected update to my social
    accounts. Create a server-side function that sends POST
    https://socialhelper.app/api/v1/posts with the header “Authorization:
    Bearer ” followed by the secret SOCIALHELPER_API_KEY, and a JSON body
    with “text” and “accounts”. Load the account IDs from GET
    https://socialhelper.app/api/v1/accounts. Never put the API key in
    client-side code.
  4. 4

    Check the function

    It should look roughly like this: the key comes from the secret, and the browser only ever talks to your function.

    // app/api/share/route.ts (a Next.js route handler)
    // Protect this route so only you, or your signed-in users, can call it.
    export async function POST(request: Request) {
      const { text, accounts } = await request.json();
    
      const response = await fetch("https://socialhelper.app/api/v1/posts", {
        method: "POST",
        headers: {
          Authorization: `Bearer ${process.env.SOCIALHELPER_API_KEY}`,
          "Content-Type": "application/json",
          "Idempotency-Key": crypto.randomUUID(),
        },
        body: JSON.stringify({ text, accounts }),
      });
    
      return new Response(await response.text(), {
        status: response.status,
        headers: { "Content-Type": "application/json" },
      });
    }

Ship it from v0.

Create a free account, connect an account and send your first post in a few minutes.