API Documentation

One unified API to access all prediction markets. Get started in minutes with our simple REST interface.

API Key for Testing

Enter your API key to test endpoints directly from the docs

Quick Start

1Get your API key from the dashboard or create one via the API.

2Include your API key in the Authorization header:

text
Authorization: Bearer YOUR_API_KEY

3Make your first request:

bash
curl "bash-flag">-H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.propheseer.com/v1/markets?limit=5"

Base URL

Production
text
https://api.propheseer.com/v1
Local Development
text
http://localhost:3000/v1

Currently testing against: https://api.propheseer.com

Rate Limits

PlanDaily LimitPer-Minute LimitPrice
Free100 req/day10 req/min$0/mo
Pro10,000 req/day100 req/min$29/mo
Business100,000 req/day1,000 req/min$99/mo

Rate limit headers are included in all authenticated responses: X-RateLimit-Remaining-Day, X-RateLimit-Remaining-Minute

Endpoints

GET/v1/markets

Retrieve a paginated list of prediction markets from all connected platforms. Filter by source, category, status, or search by question text.

Parameters

NameTypeDescriptionDefault
sourcestringFilter by platformall
categorystringFilter by topic category-
statusstringFilter by market status-
qstringSearch query to filter by question text-
limitnumberResults per page (max: 200)50
offsetnumberPagination offset for retrieving additional results0

Example Request

bash
curl "bash-flag">-H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.propheseer.com/v1/markets?category=politics&limit=10"

Example Response

JSON
{
  "data": [
    {
      "id": "pm_abc123",
      "source": "polymarket",
      "question": "Will the Fed cut rates in January 2025?",
      "category": "finance",
      "status": "open",
      "outcomes": [
        { "name": "Yes", "probability": 0.35 },
        { "name": "No", "probability": 0.65 }
      ],
      "url": "https://polymarket.com/event/..."
    }
  ],
  "meta": { "total": 1234, "limit": 50, "offset": 0 }
}
GET/v1/markets/:id

Retrieve detailed information about a specific market including historical data, trading volume, and resolution criteria.

Parameters

NameTypeDescriptionDefault
id*stringUnique market identifier (e.g., pm_abc123 or ks_xyz789)-

Example Request

bash
curl "bash-flag">-H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.propheseer.com/v1/markets/pm_abc123"

Example Response

JSON
{
  "data": {
    "id": "pm_abc123",
    "source": "polymarket",
    "question": "Will the Fed cut rates in January 2025?",
    "description": "This market resolves YES if...",
    "category": "finance",
    "status": "open",
    "outcomes": [
      { "name": "Yes", "probability": 0.35, "volume24h": 125000 },
      { "name": "No", "probability": 0.65, "volume24h": 98000 }
    ],
    "resolutionDate": "2025-01-30",
    "url": "https://polymarket.com/event/..."
  }
}
GET/v1/categories

List all available market categories and their subcategories. Use these values to filter markets by topic.

Example Request

bash
curl "bash-flag">-H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.propheseer.com/v1/categories"

Example Response

JSON
{
  "data": [
    { "id": "politics", "name": "Politics", "subcategories": ["elections", "policy"] },
    { "id": "sports", "name": "Sports", "subcategories": ["nfl", "nba", "soccer"] },
    { "id": "finance", "name": "Finance", "subcategories": ["crypto", "stocks", "fed"] }
  ],
  "meta": { "total": 6 }
}
GET/v1/arbitrage

Discover cross-platform arbitrage opportunities where the same market trades at different prices. Perfect for building trading bots or alerts.

Parameters

NameTypeDescriptionDefault
min_spreadnumberMinimum price spread to consider (0-1, e.g., 0.05 = 5%)0.03
categorystringFilter opportunities by category-

Example Request

bash
curl "bash-flag">-H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.propheseer.com/v1/arbitrage?min_spread=0.05"

Example Response

JSON
{
  "data": [
    {
      "question": "Will Trump win 2024 election?",
      "spread": 0.05,
      "potentialReturn": "5.3%",
      "markets": [
        { "source": "polymarket", "yesPrice": 0.52, "url": "..." },
        { "source": "kalshi", "yesPrice": 0.47, "url": "..." }
      ]
    }
  ],
  "meta": { "total": 3 }
}
POST/v1/keys

Create a new API key for your application. Choose a plan based on your expected usage. Keys are generated immediately and can be used right away.

Parameters

NameTypeDescriptionDefault
namestringA friendly name to identify this key (e.g., 'Production App')Unnamed Key
planstringRate limit tier for this keyfree

Example Request

bash
curl "bash-flag">-X POST "bash-flag">-H "Content">-Type: application/json" \
  "bash-flag">-d '{"name": "My App", "plan": "free"}' \
  "https://api.propheseer.com/v1/keys"

Example Response

JSON
{
  "message": "API key created successfully",
  "data": {
    "key": "pk_test_abc123xyz...",
    "name": "My App",
    "plan": "free",
    "limits": { "requestsPerDay": 100, "requestsPerMinute": 10 }
  }
}
GET/v1/keys/me

Retrieve information about your API key including current usage statistics, rate limits, and plan details.

Example Request

bash
curl "bash-flag">-H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.propheseer.com/v1/keys/me"

Example Response

JSON
{
  "data": {
    "id": "key_abc123",
    "name": "My App",
    "plan": "free",
    "limits": { "requestsPerDay": 100, "requestsPerMinute": 10 },
    "usage": { "daily": 45, "minute": 3, "total": 1250 },
    "createdAt": "2025-01-15T10:30:00Z"
  }
}

Error Codes

CodeStatusDescription
UNAUTHORIZED401Missing or invalid API key in Authorization header
NOT_FOUND404The requested resource does not exist
RATE_LIMITED429You have exceeded your rate limit. Upgrade your plan or wait.
INTERNAL_ERROR500An unexpected server error occurred. Please try again.

Data Sources

Polymarket

Crypto-native prediction market with high liquidity, particularly on political and current events.

Market IDs prefixed with pm_

Kalshi

CFTC-regulated exchange, legal for US residents. Diverse categories including economics and weather.

Market IDs prefixed with ks_