Getting started
The pump.fun API gives approved organisations read-only access to public social data: profiles, the follow graph, callouts and posts, leaderboards and wallet positions. It is free. Access is by application and approval, keys belong to an organisation, and every call is attributed to the key that made it.
Apply and get a key
Section titled “Apply and get a key”-
Open the developer console. Go to developers.pump.fun and sign in with your pump.fun account. The sign-in happens on pump.fun and the session carries over.
-
Apply. Enter your business name, a business email, your use case, optionally your website, and the scopes you are requesting. Verify the email with the six-digit code we send: it is valid for 10 minutes and five attempts, and you can request a new one after 60 seconds.
-
Wait for approval. Applications are reviewed by the pump.fun team. There are no instant keys and no test keys. The decision shows in the console; a rejection carries a note, and a rejected organisation can apply again from the same console. Once the application is approved and the contact email is verified, you can create keys.
-
Create a key. Give it a name (
dev,prod, a partner’s name) and, optionally, a subset of the default scopes. The full key is shown once; store it in a secrets manager. The console keeps only the prefix and the last four characters. An organisation can hold up to five active keys (a key in its rotation grace window does not count), each with its own scopes and limits.
Make the first call
Section titled “Make the first call”curl -sS https://api.pump.fun/v1/users/{id} \ -H "Authorization: Bearer $PUMP_API_KEY"import { PumpApi } from '@pump-fun/api';
const api = new PumpApi({ apiKey: process.env.PUMP_API_KEY! });const { data: user, rateLimit } = await api.profiles.getUser({ id: '<wallet or user id>' });console.log(user.username, rateLimit?.remaining);Replace {id} with a user id or a wallet address. A 200 comes back with the profile and the X-RateLimit-* headers described in Limits and headers. The SDK is documented on its own page.
What a new key gets
Section titled “What a new key gets”| Setting | Default |
|---|---|
| Scopes | all read scopes except moderation.read (or the subset you pick) |
| Rate | 1 request per second sustained, 60 per 60 s bucket |
| Daily limit | 50,000 requests per UTC day |
| Keys per organisation | 5 |
Defaults start low on purpose. Ask for more through support with the key’s prefix and the routes you call; limits are raised per key.
- Authentication: the two header forms, key shape, rotation.
- Scopes: which routes each scope unlocks.
- API reference: every operation with schemas and curl snippets.
- MCP server: use the same key from an AI client.