Upside API

The Upside API gives you programmatic access to the same data and capabilities you use in the dashboard — accounts, opportunities, campaigns, channels, miniapps, your Knowledge Library, and more.

🧪

The Upside API is in beta. Endpoints and response formats may change. There are no guaranteed SLAs at this time. If you have questions, reach out to your Upside team on Slack.

Use it to pull data into scripts, notebooks, custom tools, or anything that can make an HTTP request. If you're building with an AI agent (Claude, Cursor, ChatGPT), the Upside MCP is usually a better fit — it connects directly to the same data through the Model Context Protocol.

What you can do

  • Query your data — Pull accounts, opportunities, campaigns, channels, salespeople, and web analytics
  • Run SQL — Execute read-only SQL queries against your Upside data warehouse
  • Work with miniapps — List apps, read comments, manage versions
  • Manage your Knowledge Library — Create, edit, publish, and organize knowledge entries
  • Build custom integrations — Feed Upside data into dashboards, reports, notebooks, or internal tools

Getting started

  1. Create a Personal API Key in your dashboard settings. See API Authentication for a walkthrough.
  2. Try a request. The API Quick Start has copy-pasteable examples in curl and Python.

How it works

Every request goes to https://app.upside.tech/api/ with your API key in the Authorization header:

curl https://app.upside.tech/api/datahub/accounts/ \
  -H "Authorization: Bearer sk_your_key_here"

Responses come back as JSON. List endpoints return results in a standard format:

{
  "results": [ ... ],
  "total": 342,
  "limit": 100,
  "offset": 0
}

Pagination

Data endpoints (accounts, opportunities, campaigns, channels, people, salespeople) support limit and offset parameters:

GET /api/datahub/accounts/?limit=50&offset=100
  • limit controls the page size (defaults vary by endpoint — typically 50–200)
  • offset skips that many records from the start
  • total in the response tells you how many records match overall

Some endpoints like miniapps and knowledge entries return all results without pagination.

API vs MCP

Both access the same Upside data and services. The difference is the interface:

APIMCP
Best forScripts, notebooks, custom tools, scheduled jobsAI agents (Claude, Cursor, ChatGPT)
AuthPersonal API KeyOAuth or Personal API Key
FormatJSON over HTTPMCP protocol (streaming)
SetupOne API key, any HTTP clientMCP client configuration

If you're already using the MCP and want to automate something outside of an AI agent, the API is the way to go.


Did this page help you?