Skip to content

API Reference

The Resplendent Data API gives you programmatic access to your data. Use it to export information, integrate with other systems, or build custom workflows.

All API requests need an API credential. Create one from your account settings:

  1. Go to CompanyAPI Credentials
  2. Click New Credential
  3. Copy the ID and Key (the key is shown only once)

Include your credentials in the Authorization header using HTTP Basic authentication. Use the credential ID as the username and the Key as the password:

Authorization: Basic base64(YOUR_CREDENTIAL_ID:YOUR_CREDENTIAL_KEY)
https://app.resplendentdata.com/api/v1

Retrieve data from tables and modified datasets. This endpoint returns JSON with support for pagination.

GET /export-data/{data_stream_type}/{data_stream_id}
ParameterTypeDescription
data_stream_typestringEither table (raw dataset) or modifier (filtered/transformed dataset)
data_stream_idstringUUID of the table or modifier you want to export
ParameterTypeDefaultDescription
pageinteger1Page number to retrieve (minimum: 1)
page_sizeinteger1000Number of records per page (minimum: 1)

Returns an array of JSON objects. Each object represents one row with column names as keys:

[
{
"id": 1,
"company_name": "Acme Corp",
"revenue": 50000,
"created_at": "2024-01-15"
},
{
"id": 2,
"company_name": "TechStart Inc",
"revenue": 125000,
"created_at": "2024-02-20"
}
]

Export page 2 of a table with 500 records per page:

Terminal window
curl -X GET "https://app.resplendentdata.com/api/v1/export-data/table/a1b2c3d4-5678-90ab-cdef-example12345?page=2&page_size=500" \
-u "YOUR_CREDENTIAL_ID:YOUR_CREDENTIAL_KEY"

Export from a modified dataset:

Terminal window
curl -X GET "https://app.resplendentdata.com/api/v1/export-data/modifier/b2c3d4e5-6789-01bc-defa-example23456?page=1&page_size=2000" \
-u "YOUR_CREDENTIAL_ID:YOUR_CREDENTIAL_KEY"

The export endpoint has rate limiting to keep the service stable:

  • 45 requests per 30 seconds per customer account
  • Exceeding this returns a 429 Too Many Requests error
  • The response includes how many seconds to wait before retrying

Results are cached for 15 minutes to improve performance. If you request the same data within this window, you get the cached version immediately without hitting the database.

StatusCodeMeaning
400page must be at least 1Invalid page parameter
400pageSize must be at least 1Invalid page_size parameter
401UnauthorizedMissing or invalid API key
404Table not foundThe table UUID does not exist or you do not have access
404Data modifier not foundThe modifier UUID does not exist or you do not have access
429Rate limit exceededToo many requests, retry after the specified time

Tables:

  • Go to Data SettingsDatasets
  • Click on a table name
  • Copy the UUID from the browser URL or table details

Modifiers:

  • Go to Data SettingsModified Datasets
  • Click on a modifier name
  • Copy the UUID from the browser URL or modifier details

The API converts database types to JSON-compatible formats:

Database TypeJSON OutputExample
IntegerNumber42
Decimal/FloatNumber123.45
String/TextString"Hello"
BooleanBooleantrue or false
DateISO 8601 string"2024-01-15"
DateTimeISO 8601 string"2024-01-15T14:30:00"
Null valuesnullnull
  • Start with page=1 and increment until you receive an empty array
  • Page sizes above 10,000 may time out; stick to 1,000–5,000 for reliability
  • The API reads up to 10 million rows per request internally
  • Cache is keyed by the stream ID, not by page parameters

Exporting a dataset:

import requests
credential_id = "YOUR_CREDENTIAL_ID"
credential_key = "YOUR_CREDENTIAL_KEY"
table_id = "YOUR_TABLE_UUID"
page = 1
all_data = []
while True:
response = requests.get(
f"https://app.resplendentdata.com/api/v1/export-data/table/{table_id}?page={page}&page_size=5000",
auth=(credential_id, credential_key)
)
data = response.json()
if not data:
break
all_data.extend(data)
page += 1
# all_data now contains every row from the table