Getting Started
The Panda IDX API provides programmatic access to MLS listings, contacts, visitor analytics, and market data. Use it to build integrations, automate workflows, or power your own applications.
Base URLs
Authentication
The Panda IDX API uses Bearer token authentication. There are two ways to get a token depending on your use case.
Personal API Key
For accessing your own data. Generate a key from your dashboard. Requires a Signature subscription.
Authorization: Bearer {{YOUR_API_KEY}}OAuth 2.0 Token
For PartnersFor apps that access other users' data. The user authorizes your app via OAuth, and you receive an access token.
Authorization: Bearer {{ACCESS_TOKEN}}Personal API Key
If you want to access your own data programmatically (listings, contacts, analytics), generate a personal API key from your dashboard. Requires a Signature subscription.
Use the key as Authorization: Bearer YOUR_API_KEY in all API requests.
OAuth for Partners
Building an app that accesses other users' data? Register as a partner and use OAuth 2.0 to request authorization from Panda IDX users.
client_id and client_secret are available in View Credentials from the app dropdownUse these credentials to implement the OAuth 2.0 flow below.
Make your first request
Search for active listings in Miami with your OAuth access token:
curl --request GET \--url "https://api.pandaidx.com/v1/listings?city=Miami&type=sale&limit=5" \--header "Authorization: Bearer YOUR_ACCESS_TOKEN" \--header "Content-Type: application/json"
Explore all available endpoints in the sidebar, or start with Search Listings.
OAuth 2.0 Flow
All API endpoints require an OAuth access token. Create an OAuth App in your Partner Account → Manage Apps to get your client_id and client_secret.
client_id and scopesAuthorization: Bearer header in all API callsError Handling
All errors return a JSON object. API endpoints and OAuth endpoints use slightly different formats. Click each status code to see the response body.
The request is invalid — missing required fields, malformed data, or expired OAuth code.
API — Invalid parameters
{"error": {"code": "bad_request","message": "Missing required parameter: city or zip","status": 400}}
OAuth — Expired code
{"error": "invalid_grant","error_description": "Invalid or expired authorization code"}
Rate Limits
Standard
60 requests/min
Premium
300 requests/min
When rate limited, the API returns 429 Too Many Requests. Implement exponential backoff in your integration.
For Partners
Building an integration with Panda IDX? Register as a developer partner to get OAuth credentials and manage your apps.
client_id and client_secret to start the OAuth flow