Your Bio Page Now Has an API
API keys are live. Manage your Selfbase pages from your own scripts, dashboards, or AI tools — no dashboard clicking required.

There is a small but significant moment in any tool's life when it stops being a destination and starts being a building block.
For Selfbase, that moment is now.
We just shipped API keys, which means your pages no longer live exclusively inside our dashboard. You can list them from a script, create them from a CI job, update them from a Raycast extension, or push changes from whatever weird internal tool your team has running on a Friday afternoon.
The page is yours. Now the workflow is yours too.
Why we added an API
If you only ever build one page, you probably don't need an API. The dashboard is faster.
But the moment you start managing several pages — for clients, for campaigns, for product launches that all need a slightly different "smart link" — clicking through the UI for every small change starts to feel a lot like data entry.
API keys turn that boring repetition into a function call.
You can:
- Spin up a new page when a customer signs up
- Sync your latest content into a "Latest" block automatically
- Toggle pages between published and unpublished from a script
- Generate dozens of campaign pages from a CSV instead of by hand
We had a lot of users asking for this politely. And a few asking for it less politely. Both groups should now be happier.
What you actually get
The API is REST, the format is JSON, and authentication is a bearer token. Nothing surprising, which is the highest compliment you can give an API.
You can:
- Manage pages — list, create, fetch, rename, publish, unpublish
- Manage blocks — add, update, reorder, hide, or delete the content units inside a page (links, headers, forms, products, embeds, the lot)
- Update settings — page-level config like avatars, slugs, SEO metadata
If it exists in the dashboard, the goal is for it to exist in the API. We are not fully there yet, but we are close.
The full reference lives at selfbase.co/developers.
A 60-second tour
Create a key in Profile → API Keys. Copy it once — we only show it once, on purpose.
Then call the API like you would any other:
curl https://selfba.se/api/pages \
-H "Authorization: Bearer YOUR_API_KEY"
That returns your pages. Add a new one:
curl -X POST https://selfba.se/api/pages \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"slug": "spring-campaign", "title": "Spring Campaign"}'
Then drop a header onto it:
curl -X POST https://selfba.se/api/pages/spring-campaign/blocks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"block": {"name": "header", "label": "Header"}, "content": {"text": "Welcome"}}'
That is the whole shape of it. Pages contain blocks. Blocks contain content. You manipulate either.
Where this gets interesting
The simplest use case is automation: stop doing in the UI what a script can do for you. That alone justifies the API for most heavy users.
But the more interesting use cases come from treating Selfbase as infrastructure:
- Agencies running 50 client pages can keep them all consistent without 50 manual updates.
- Newsletter operators can sync their latest issue to a "Featured" block automatically.
- Product teams can generate per-customer landing pages programmatically.
- Creators with multiple offers can spin up campaign-specific pages in seconds and tear them down when the campaign ends.
The dashboard is great for one page that you tend like a houseplant. The API is for everything else.
The fine print, briefly
A few things worth knowing:
- Up to 5 API keys per account. Rotate freely.
- Keys do not expire by default — but you can revoke them whenever you want.
- Rate limit is 150 requests per minute, which is plenty for nearly everything except a misbehaving script. (If your script is misbehaving, the rate limit is doing you a favor.)
- Every error returns a clear status code and a
statusMessagefield, so you don't have to guess what went wrong.
Standard stuff, intentionally.
Where we go from here
The direction is clear: anything you can do in Selfbase, you should also be able to do to Selfbase from anywhere else.
Webhooks, richer block content endpoints, and bulk operations are all on the way. If there's a specific workflow you're trying to automate, tell us — those tend to jump the queue.
Full reference at selfbase.co/developers. If you build something interesting with it, we'd love to see it.
If you build something cursed with it, we'd also love to see that.
Photo by Jakub Żerdzicki on Unsplash
Your Bio Page Is Now a Real Storefront
Products on Selfbase now support images, external links, and multiple items per block. Sell digital files, physical goods, or link out to any shop — all from one place.
Your Link in Bio Is Not a Storage Closet
A better bio page does not hoard links. It guides people toward one clear next step with a little more taste and a lot less chaos.