Quickstart

Two paths to a live logo wall. Path A runs in the browser through the dashboard. Path B hands the whole job to a coding agent: you paste three things into a terminal and never open a UI. Both end with the same one-line embed (see the embed reference).

Path A: browser flow

1. Sign up

Create an account at logosyncer.com/signup with an email and password, or with Continue with Google. We email you a confirmation link; click it and you land in the dashboard. (The same email also carries an 8-character code if you’d rather paste that.) Log in afterwards at /login.

This path gives you an account and the dashboard. It does not give you an API key, and for the browser flow you don’t need one; mint one later under Account → API keys if you want to script things. If you came here to drive LogoSyncer from a terminal or an agent, skip to Path B.

2. Connect Stripe

In the dashboard, open Connect. There is one way in, and it is read-only by construction: create a restricted key in Stripe using the exact click-path below, paste it into the Connect form, then paste the confirmation code that arrives in your Stripe account’s own inbox. (That email is the publish authorization; see security.) The key carries four read scopes and nothing else, and you can revoke it from your Stripe dashboard at any time.

The Stripe restricted-key click-path

This is where real users stall, so here is the literal path, step by step:

  1. Open https://dashboard.stripe.com and sign in. Check the account picker (top-left) is the right business, and the “Test mode” toggle (top-right) is OFF: the key must start with rk_live_, not rk_test_. A test key is accepted and will sync, so you can try the whole flow against a Stripe sandbox, but a test-mode wall is never served publicly: you will see the synced logos on Walls, and the embed stays empty until you connect a live key.
  2. Click “Developers” (bottom-left corner, or via the search bar) → “API keys” tab.
  3. Scroll to the “Restricted keys” section → click “Create restricted key”.
  4. If Stripe asks what the key is for, choose the option for connecting a third-party service yourself (“Providing this key to another website” also works; LogoSyncer only needs read scopes either way).
  5. Key name: LogoSyncer
  6. In the permissions table set EXACTLY these four rows to “Read”:
    • Customers → Read
    • Subscriptions → Read
    • Events → Read
    • Account → Read (LogoSyncer uses this once, to email your Stripe account’s own address the publish-confirmation code)
    Leave every other row at “None”. Do not grant any Write permission; LogoSyncer will work with these four reads and nothing else.
  7. Click “Create key” at the bottom.
  8. In the key list, find “LogoSyncer” → click “Reveal live key” → copy the rk_live_... value.
  9. Paste it into the Connect form (or, in the agent flow, into the terminal when the agent asks: it goes directly to POST /v1/stripe/connect over HTTPS; do not paste it into chat with an AI assistant).

3. Watch the first sync

Connecting queues the initial sync and auto-creates a default wall named “All customers”. The Connect screen shows the funnel: how many customers became domains, how many logos resolved, what was filtered (freemail, no-email). The sync is usually done within a couple of minutes.

4. Embed

Open Embed in the dashboard, pick one of the 10 style presets, and copy the snippet:

<script async
  src="https://logosyncer.com/embed/v1.js"
  data-wall="YOUR_WALL_PUBLIC_ID"
  data-style="grid"></script>

Paste it into your site and you’re live. Platform-specific paste notes (Webflow, Squarespace, WordPress, Framer) are in the embed reference.

Path B: agent flow (3 terminal pastes, zero UI)

The agent flow has its own signup and it is unchanged: POST /v1/signup then POST /v1/verify, which returns the API key. No password, no browser. Both paths create the same kind of account; if you start here you can still set a password later under Account → Sign-in methods.

Paste this one line into your coding agent (Claude Code, Codex, Cursor, …):

Add a customer logo wall to my site with LogoSyncer. Start at https://logosyncer.com/llms.txt

The agent reads /llms.txt and /llms-full.txt, builds and tests the wall against the public demo endpoint (GET /v1/walls/demo, no auth needed), then runs the signup and Stripe flow end-to-end:

WhoWhat happens
AgentPOST /v1/signup {email}202, a verification code is emailed
You (paste 1)the 8-character code from your email → POST /v1/verify → your lsk_ API key
You (paste 2)the read-only rk_live_ key you create in Stripe (click-path above) → POST /v1/stripe/connect
You (paste 3)the confirm code sent to your Stripe account’s own inbox → POST /v1/stripe/confirm
AgentGET /v1/sync/status, polled until the first sync reports done
AgentGET /v1/walls → the default wall’s public_id and whether it is published
Agentdrops the <script> embed, or renders a custom UI from the wall JSON

You only touch the keyboard three times, all copy-paste into the terminal:

  1. Paste 1: the 8-character verification code from your email.
  2. Paste 2: the rk_live_ restricted key you created in Stripe (read-only; the agent reads you the click-path above).
  3. Paste 3: the confirmation code sent to your Stripe account’s own email address.

Everything else (signup, polling, wall creation, embed placement) the agent does unattended. Details of what agents may and may not do are in the agent docs.

Next steps

  • Embed reference: all 10 presets, sizing, display variants, and platform paste notes.
  • API reference: every endpoint, auth, errors, rate limits.
  • Security: what read-only means here, and how publishing is authorized.