Developers
Public API
No key is needed for any read below. Addresses are Gully Chain accounts; every answer is testnet data today. Writes (follow, post, like, upload) need the app's signed device key, so build them on the app or ask for an integration on Community & support.
#Rate limits and API keys
| Scope | Limit |
|---|---|
| Social API, anonymous | 240 requests a minute per IP |
| Social API, with a key | 1,200 requests a minute per key, sent as X-Kre8-Key |
| Video, Offers | no published limit and no keys yet; heavy use may be throttled |
Make a key on the developer dashboard: up to 5 active keys per account, each shown once on create.
Only the hash is stored; a malformed, unknown or revoked key answers 401 { "code": "api_key" } and still spends the
caller's IP budget. Every answer carries X-RateLimit-Limit and X-RateLimit-Scope: ip | key. Keys raise the social
API limit only. Live limits: GET https://social.kre8.fun/v1/developers/limits (CORS *).
curl -s -H "X-Kre8-Key: $KRE8_KEY" "https://social.kre8.fun/v1/people?sort=followers&limit=5"#Social
Base https://social.kre8.fun.
| Request | Returns |
|---|---|
GET /v1/profiles/:address |
followers, following, posts, points, the active verified badge or null |
POST /v1/profiles/batch { "addresses": [...] } |
up to 100 light profiles at once |
GET /v1/profiles/:address/followers?cursor= |
followers, 50 a page |
GET /v1/people?sort=followers&limit=50 |
people (sort: followers, new, verified, points) |
GET /v1/posts?author=&feed=&cursor= |
top-level posts, 30 a page, newest first |
GET /v1/posts/:id |
a post and its replies |
GET /v1/reactions?ids=post:… |
likes and replies of up to 100 items |
GET /v1/official |
accounts with the Official badge |
GET /v1/tracks?sort=new |
creator tracks (new, or top in 7 days) |
GET /v1/music/search?q= |
music search (60 a minute per IP) |
GET /v1/coins?kind=movie,music |
Drops with a coin profile, newest first |
GET /v1/coins/:token |
one Drop's kind, work and holder perks |
GET /v1/verified/:address |
the badge, or 404 |
GET /v1/developers/limits, GET /v1/developers/stats |
the limits this service enforces; keyed requests and webhook deliveries per hour, last 24 h |
#Video
Base https://video.kre8.fun.
| Request | Returns |
|---|---|
GET /v1/catalog?sort=latest&limit=24 |
public videos and Shorts (latest or popular, up to 100) |
GET /v1/assets/:id |
one public title |
GET /v1/channels/:handle |
one channel |
GET /v1/series, GET /v1/series/:id |
series, and one series with its episodes |
#Offers
Base https://offers.kre8.fun. Advertisers fund quests, players earn, publishers embed the wall; the full guide is at
offers.kre8.fun/integrate.
| Request | Returns |
|---|---|
GET /v1/offers?placement=house |
live offers for a placement |
GET /v1/stats |
network totals (CORS *) |
GET /v1/stats/network?days=14 |
daily impressions, clicks, completions, paid out |
#oEmbed and crawlers
| Request | Returns |
|---|---|
GET https://social.kre8.fun/oembed?url=<kre8 link>&format=json |
oEmbed 1.0: players for tracks, videos, Shorts and live; a link card for the rest |
GET https://testnet.kre8.fun/s/<kind>/<id>.png |
the 1200x630 share card of any profile, Drop, track or post |
GET https://social.kre8.fun/seo?path=<app path> |
the page with its title, description, Open Graph and JSON-LD, as crawlers get it |
Chain data (tokens, trades, quests, holders) comes from the indexer and the public RPC: RPC & indexer API in the chain docs. Services are on the status board.