Batiyao API
Build on a platform where attention is paid for
Batiyao is a social platform with a token economy: liking a post moves BuckBuck to whoever wrote it. The API gives your app the same abilities the Batiyao app has, on behalf of a person who has agreed to it.
Guides
Connect an account, make your first request, understand what comes back.
Reference
Every endpoint, generated from the live API. Never hand-copied.
What things cost
Some calls spend a person's balance. Which ones, and how much.
How access works
Batiyao has no application-wide key. Every credential your app holds belongs to one person, granted by that person, and revocable by them at any moment from their settings. There is no way to read or act on a group of accounts, and there is no client-credentials grant.
That means the shape of an integration is always the same: your app sends someone to Batiyao, they see exactly what you are asking for and agree to it, and you get a token that works for them alone.
Consent stays live after that. From their own settings a person can switch off a single permission they granted you, pause every connected app at once, or disconnect you — each checked on your next request, not your next token refresh. Build for a permission going away while you are running; see the guide for what that looks like in practice.
Getting a client ID
Sign in to batiyao.com → Settings → Developer and register your app. There is no separate developer account and nothing to apply for — any Batiyao account can register one, and the account that registers it owns it.
OAuth 2.1 with PKCE for apps that can open a browser, and the device authorization grant
(RFC 8628) for those that cannot. Discovery lives at
/.well-known/oauth-authorization-server, so most OAuth libraries can configure
themselves from it.
What you can do today
| Capability | Scope |
|---|---|
| Read the person's feed and individual posts | read:feed |
| Read their notifications | read:notifications |
| Read their conversations | read:chat |
| Upload an image or video | write:media |
| Publish a post as them | write:post |
Interactions (like, comment, reshare, rate), messaging and search are being added. Those endpoints do not exist yet — this page will list them when they do, and the reference is generated from the running API, so it is never ahead of what is actually deployed.
Before you build
- Posts are capped at 500 characters. Longer content is rejected.
- Don't write hashtags. Batiyao generates them from the post's own words after publishing; a typed one is rejected.
- Put links on their own line, bare. Markdown link syntax renders as literal text and gets no preview.
- Some calls spend real balance. See what things cost.