RudderStack website screenshot

RudderStack

RudderStack is a warehouse-native customer data platform (CDP) for developers, with open-source data plane SDKs (rudder-server) and a managed control plane. The platform exposes an HTTP Tracking (Event Stream) API for ingest, a Config Backend API for managing sources/destinations/connections, a Transformations API for in-flight event transforms, a Tracking Plan API for schema governance, a Profiles API for identity resolution and audiences, and a Reverse ETL API for warehouse-to-SaaS sync.

12 APIs 0 Features
Customer Data PlatformCDPData PipelineOpen SourceEvent StreamingReverse ETLAnalyticsIdentity Resolution

APIs

RudderStack HTTP Tracking API

The RudderStack HTTP Tracking API ingests customer events server-side via the standard CDP event-spec calls — identify, track, page, screen, group, alias, and batch — using a Se...

RudderStack Config Backend API

The RudderStack Config Backend API manages workspace configuration objects — sources, destinations, connections, and workspace settings — supporting full programmatic provisioni...

RudderStack Transformations API

The RudderStack Transformations API manages user-defined transformation functions (JavaScript, with Python on Enterprise) attached to a destination connection to filter, mask, e...

RudderStack Tracking Plan API

The RudderStack Tracking Plan API defines and enforces the canonical event schema (events, properties, traits, types, required fields) used to validate ingested events and surfa...

RudderStack Data Catalog API

The RudderStack Data Catalog API exposes the inventory of events and properties seen across all sources, supporting schema discovery, lineage, and governance reporting.

RudderStack Profiles API

The RudderStack Profiles API powers warehouse-native identity resolution, customer feature engineering, and unified Customer 360 model definitions executed inside the customer's...

RudderStack Audiences API

The RudderStack Audiences API builds and manages audience definitions in the warehouse and activates them across destinations via Reverse ETL.

RudderStack Reverse ETL API

The RudderStack Reverse ETL API manages warehouse-source-to-SaaS-destination syncs, including model definitions, sync schedules, run history, and incremental cursor management.

RudderStack Event Stream API

The RudderStack Event Stream API manages real-time event-stream pipelines — sources, destinations, connections, event filters, and feature toggles — that route events from colle...

RudderStack Webhook Source API

The RudderStack Webhook Source API receives inbound webhooks from third-party SaaS tools and normalizes them into RudderStack events for downstream routing.

RudderStack Warehouse Destination API

The RudderStack Warehouse Destination API configures and operates loads into supported warehouses (Snowflake, BigQuery, Redshift, Postgres, Databricks, Trino, S3 Data Lake) with...

RudderStack Orchestration API

The RudderStack Orchestration API integrates with Airflow and Dagster to coordinate Reverse ETL syncs, Profiles model runs, and other RudderStack jobs from external orchestratio...

Collections

GraphQL

RudderStack GraphQL Schema

This conceptual GraphQL schema models the RudderStack customer data platform (CDP) API surface. RudderStack is a warehouse-native CDP for developers that provides an open-source...

GRAPHQL

Pricing Plans

Rate Limits

Rudderstack Rate Limits

6 limits

RATE LIMITS

FinOps

Event Specifications

RudderStack Event Streaming API

AsyncAPI 2.6 specification describing RudderStack's event-streaming surfaces over HTTP. RudderStack ingests customer events server-side via the HTTP Tracking API (identify, trac...

ASYNCAPI

Resources

🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
APIReference
APIReference
🚀
GettingStarted
GettingStarted
💰
Pricing
Pricing
📝
Signup
Signup
🔗
Login
Login
👥
GitHubOrganization
GitHubOrganization
🔗
Open Source Server
Open Source Server
📦
JavaScript SDK
JavaScript SDK
📦
Node.js SDK
Node.js SDK
📦
Python SDK
Python SDK
📦
Java SDK
Java SDK
📦
Go SDK
Go SDK
📦
Ruby SDK
Ruby SDK
📦
PHP SDK
PHP SDK
📦
.NET SDK
.NET SDK
📦
iOS SDK
iOS SDK
📦
Android SDK
Android SDK
🟢
StatusPage
StatusPage
📰
Blog
Blog
📄
ChangeLog
ChangeLog
🔗
License
License
🔗
X (Twitter)
X (Twitter)
👥
YouTube
YouTube
🔗
Slack Community
Slack Community
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: RudderStack HTTP API
  version: 1.0.0-oas3
items:
- info:
    name: HTTP API
    type: folder
  items:
  - info:
      name: Identify
      type: http
    http:
      method: POST
      url: /v1/v1/identify
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: The identify call lets you associate a visiting user to their actions and record any associated traits.
  - info:
      name: Track
      type: http
    http:
      method: POST
      url: /v1/v1/track
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: The track call lets you track user actions along with any properties associated with them.
  - info:
      name: Page
      type: http
    http:
      method: POST
      url: /v1/v1/page
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: The page call lets you record your website’s page views with any additional relevant information about the viewed
      page.
  - info:
      name: Screen
      type: http
    http:
      method: POST
      url: /v1/v1/screen
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: The screen call is the mobile equivalent of the page call. It lets you record whenever your user views their mobile
      screen with any additional relevant information about the screen.
  - info:
      name: Group
      type: http
    http:
      method: POST
      url: /v1/v1/group
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: The group call lets you link an identified user with a group such as a company, organization, or an account. It
      also lets you record any custom traits associated with that group, like the name of the company, the number of employees,
      etc.
  - info:
      name: Alias
      type: http
    http:
      method: POST
      url: /v1/v1/alias
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: The alias call lets you merge different identities of a known user.
  - info:
      name: Batch
      type: http
    http:
      method: POST
      url: /v1/v1/batch
      body:
        type: json
        data: '{}'
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: The batch call enables you to send a batch of events (identify, track, page, group, screen, alias) in a single request.
- info:
    name: Internal API
    type: folder
  items:
  - info:
      name: Extract
      type: http
    http:
      method: POST
      url: /v1/internal/v1/extract
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Handles extract requests.
  - info:
      name: Retl
      type: http
    http:
      method: POST
      url: /v1/internal/v1/retl
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Handles retl (reverse ETL) requests.
  - info:
      name: Audience List
      type: http
    http:
      method: POST
      url: /v1/internal/v1/audiencelist
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Handles audience list requests.
  - info:
      name: Replay
      type: http
    http:
      method: POST
      url: /v1/internal/v1/replay
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Handles replay requests.
  - info:
      name: Batch
      type: http
    http:
      method: POST
      url: /v1/internal/v1/batch
      auth:
        type: basic
        username: '{{username}}'
        password: '{{password}}'
    docs: Handles internal batch requests.
bundled: true