Skip to main content

Get started with Pump.fun API

This guide will help you make your first API call to Pump.fun. You’ll learn how to authenticate and retrieve data from the platform.

Prerequisites

Before you begin, ensure you have:
  • A JWT token for authentication (see Authentication for details)
  • A tool to make HTTP requests (cURL, Postman, or a programming language)

Authentication setup

Most Pump.fun API endpoints require JWT authentication. Include your token in the Authorization header with every request.
It’s recommended to include authentication with all requests to ensure complete data retrieval and avoid potential access issues.

Required headers

Include these headers with your API requests:
HeaderValueRequired
AuthorizationBearer <JWT>Yes
Acceptapplication/json or */*Yes
Originhttps://pump.funYes
Content-Typeapplication/jsonFor POST/PUT requests

Your first API call

Let’s retrieve the latest coin created on Pump.fun using the Frontend API v3.
1

Choose your endpoint

We’ll use the GET /coins/latest endpoint to retrieve the most recently created token.Endpoint: https://frontend-api-v3.pump.fun/coins/latest
2

Make the request

Execute the API call with your authentication token:
curl -X GET "https://frontend-api-v3.pump.fun/coins/latest" \
  -H "Authorization: Bearer <your_token>" \
  -H "Accept: application/json"
Replace <your_token> with your actual JWT token before making the request.
3

Handle the response

A successful request returns a 200 OK status with the latest coin data.

More examples

Here are additional common API calls to get you started:

Get SOL price

Retrieve the current Solana price:
curl -X GET "https://frontend-api-v3.pump.fun/sol-price" \
  -H "Authorization: Bearer <your_token>" \
  -H "Accept: application/json"

Get coin details

Retrieve information about a specific token by its mint address:
curl -X GET "https://frontend-api-v3.pump.fun/coins/{mint}?sync=true" \
  -H "Authorization: Bearer <your_token>" \
  -H "Accept: application/json"

Get trade history

Retrieve all trades for a specific token:
curl -X GET "https://frontend-api-v3.pump.fun/trades/all/{mint}?limit=50&offset=0&minimumSize=0" \
  -H "Authorization: Bearer <your_token>" \
  -H "Accept: application/json"

Get graduated coins (Advanced Analytics API)

Retrieve coins that have graduated to Raydium:
curl -X GET "https://advanced-api-v2.pump.fun/coins/graduated" \
  -H "Authorization: Bearer <your_token>" \
  -H "Accept: application/json"

Error handling

Handle common HTTP status codes in your application:
  • 200 OK - Request successful
  • 201 Created - Resource created successfully
  • 304 Not Modified - Content unchanged (when using ETag caching)
  • 400 Bad Request - Invalid request parameters
  • 401 Unauthorized - Authentication required or token invalid
  • 403 Forbidden - Access denied to resource
  • 404 Not Found - Resource not found
  • 429 Too Many Requests - Rate limit exceeded
Check response headers for rate limit information:
  • x-ratelimit-limit - Total request limit
  • x-ratelimit-remaining - Remaining requests
  • x-ratelimit-reset - Timestamp when limit resets

Optimize with caching

Many endpoints support ETag caching to reduce bandwidth and improve performance:
  1. Make your first request and save the ETag value from the response headers
  2. Include If-None-Match: W/"etag-value" in subsequent requests
  3. If content hasn’t changed, you’ll receive a 304 Not Modified response
# First request - save ETag from response
curl -i -X GET "https://frontend-api-v3.pump.fun/coins/latest" \
  -H "Authorization: Bearer <your_token>" \
  -H "Accept: application/json"

# Subsequent request with ETag
curl -X GET "https://frontend-api-v3.pump.fun/coins/latest" \
  -H "Authorization: Bearer <your_token>" \
  -H "Accept: application/json" \
  -H 'If-None-Match: W/"etag-value"'

Next steps

Coins API

Create and manage tokens on Pump.fun

API versions

Learn about different API versions and their differences

Authentication

Deep dive into authentication methods

Rate limits

Understand rate limiting and best practices

Build docs developers (and LLMs) love