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:
- Open
https://dashboard.stripe.comand 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 withrk_live_, notrk_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. - Click “Developers” (bottom-left corner, or via the search bar) → “API keys” tab.
- Scroll to the “Restricted keys” section → click “Create restricted key”.
- 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).
- Key name:
LogoSyncer - 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)
- Click “Create key” at the bottom.
- In the key list, find “LogoSyncer” → click “Reveal live key” → copy the
rk_live_...value. - 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/connectover 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.txtThe 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:
| Who | What happens |
|---|---|
| Agent | POST /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 |
| Agent | GET /v1/sync/status, polled until the first sync reports done |
| Agent | GET /v1/walls → the default wall’s public_id and whether it is published |
| Agent | drops 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:
- Paste 1: the 8-character verification code from your email.
- Paste 2: the
rk_live_restricted key you created in Stripe (read-only; the agent reads you the click-path above). - 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.