GrowthBook Data Sources API

How GrowthBook connects and queries your data, including cached database schema metadata (information schemas) for tables and columns.

Operations 4

GET /v1/data-sources Get all data sources #
GET /v1/data-sources/{id} Get a single data source #
GET /v1/data-sources/{dataSourceId}/information-schema Get a Data Source's Information Schema #
GET /v1/information-schema-tables/{tableId} Get a single Information Schema Table by id #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/growthbook-data-sources-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

growthbook-data-sources-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: GrowthBook REST Data Sources API
  description: GrowthBook offers a full REST API for interacting with the application.
servers:
- url: https://api.growthbook.io/api
  description: GrowthBook Cloud
- url: https://{domain}/api
  description: Self-hosted GrowthBook
security:
- bearerAuth: []
- basicAuth: []
tags:
- name: Data Sources
  x-displayName: Data Sources
  description: How GrowthBook connects and queries your data, including cached database schema metadata (information schemas) for tables and columns.
paths:
  /v1/data-sources:
    get:
      operationId: listDataSources
      summary: Get all data sources
      tags:
      - Data Sources
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          content:
            application/json:
              schema:
                allOf:
                - type: object
                  properties:
                    dataSources:
                      type: array
                      items:
                        $ref: '#/components/schemas/DataSource'
                  required:
                  - dataSources
                  additionalProperties: false
                - $ref: '#/components/schemas/PaginationFields'
      x-codeSamples:
      - lang: cURL
        source: "curl -X GET 'https://api.growthbook.io/api/v1/data-sources' \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"
  /v1/data-sources/{id}:
    get:
      operationId: getDataSource
      summary: Get a single data source
      tags:
      - Data Sources
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  dataSource:
                    $ref: '#/components/schemas/DataSource'
                required:
                - dataSource
                additionalProperties: false
      x-codeSamples:
      - lang: cURL
        source: "curl -X GET 'https://api.growthbook.io/api/v1/data-sources/{id}' \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"
  /v1/data-sources/{dataSourceId}/information-schema:
    get:
      operationId: getInformationSchema
      summary: Get a Data Source's Information Schema
      description: Returns cached database schema metadata for a data source, including databases, schemas, and tables. The information schema is automatically created when a SQL-based data source is added. Not all data source types support information schemas.
      tags:
      - Data Sources
      parameters:
      - $ref: '#/components/parameters/dataSourceId'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  informationSchema:
                    $ref: '#/components/schemas/InformationSchema'
                required:
                - informationSchema
                additionalProperties: false
      x-codeSamples:
      - lang: cURL
        source: "curl -X GET 'https://api.growthbook.io/api/v1/data-sources/{dataSourceId}/information-schema' \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"
  /v1/information-schema-tables/{tableId}:
    get:
      operationId: getInformationSchemaTable
      summary: Get a single Information Schema Table by id
      description: Returns cached metadata for a specific table in the Data Source, including columns and their data types. Not all data source types support information schemas.
      tags:
      - Data Sources
      parameters:
      - $ref: '#/components/parameters/tableId'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  informationSchemaTable:
                    $ref: '#/components/schemas/InformationSchemaTable'
                required:
                - informationSchemaTable
                additionalProperties: false
      x-codeSamples:
      - lang: cURL
        source: "curl -X GET 'https://api.growthbook.io/api/v1/information-schema-tables/{tableId}' \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"
components:
  schemas:
    InformationSchemaTable:
      type: object
      properties:
        id:
          type: string
        datasourceId:
          type: string
        informationSchemaId:
          type: string
        tableName:
          type: string
        tableSchema:
          type: string
        databaseName:
          type: string
        columns:
          type: array
          items:
            type: object
            properties:
              columnName:
                type: string
              dataType:
                type: string
            required:
            - columnName
            - dataType
            additionalProperties: false
        refreshMS:
          type: number
        dateCreated:
          format: date-time
          type: string
        dateUpdated:
          format: date-time
          type: string
      required:
      - id
      - datasourceId
      - informationSchemaId
      - tableName
      - tableSchema
      - databaseName
      - columns
      - refreshMS
      - dateCreated
      - dateUpdated
      additionalProperties: false
    PaginationFields:
      type: object
      properties:
        limit:
          type: integer
        offset:
          type: integer
        count:
          type: integer
        total:
          type: integer
        hasMore:
          type: boolean
        nextOffset:
          anyOf:
          - type: integer
          - type: 'null'
      required:
      - limit
      - offset
      - count
      - total
      - hasMore
      - nextOffset
      additionalProperties: false
    InformationSchema:
      type: object
      properties:
        id:
          type: string
        datasourceId:
          type: string
        status:
          type: string
          enum:
          - PENDING
          - COMPLETE
        error:
          type: object
          properties:
            errorType:
              type: string
              enum:
              - generic
              - not_supported
              - missing_params
            message:
              type: string
          required:
          - errorType
          - message
          additionalProperties: false
        databases:
          type: array
          items:
            type: object
            properties:
              databaseName:
                type: string
              path:
                type: string
              dateCreated:
                format: date-time
                type: string
              dateUpdated:
                format: date-time
                type: string
              schemas:
                type: array
                items:
                  type: object
                  properties:
                    schemaName:
                      type: string
                    path:
                      type: string
                    dateCreated:
                      format: date-time
                      type: string
                    dateUpdated:
                      format: date-time
                      type: string
                    tables:
                      type: array
                      items:
                        type: object
                        properties:
                          tableName:
                            type: string
                          path:
                            type: string
                          id:
                            type: string
                          numOfColumns:
                            type: number
                          dateCreated:
                            format: date-time
                            type: string
                          dateUpdated:
                            format: date-time
                            type: string
                        required:
                        - tableName
                        - id
                        - numOfColumns
                        - dateCreated
                        - dateUpdated
                        additionalProperties: false
                  required:
                  - schemaName
                  - dateCreated
                  - dateUpdated
                  - tables
                  additionalProperties: false
            required:
            - databaseName
            - dateCreated
            - dateUpdated
            - schemas
            additionalProperties: false
        dateCreated:
          format: date-time
          type: string
        dateUpdated:
          format: date-time
          type: string
      required:
      - id
      - datasourceId
      - status
      - databases
      - dateCreated
      - dateUpdated
      additionalProperties: false
    DataSource:
      type: object
      properties:
        id:
          type: string
        dateCreated:
          format: date-time
          type: string
        dateUpdated:
          format: date-time
          type: string
        type:
          type: string
        name:
          type: string
        description:
          type: string
        projectIds:
          type: array
          items:
            type: string
        eventTracker:
          type: string
        identifierTypes:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              description:
                type: string
            required:
            - id
            - description
            additionalProperties: false
        assignmentQueries:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              description:
                type: string
              identifierType:
                type: string
              sql:
                type: string
              includesNameColumns:
                type: boolean
              dimensionColumns:
                type: array
                items:
                  type: string
            required:
            - id
            - name
            - description
            - identifierType
            - sql
            - includesNameColumns
            - dimensionColumns
            additionalProperties: false
        identifierJoinQueries:
          type: array
          items:
            type: object
            properties:
              identifierTypes:
                type: array
                items:
                  type: string
              sql:
                type: string
            required:
            - identifierTypes
            - sql
            additionalProperties: false
        mixpanelSettings:
          type: object
          properties:
            viewedExperimentEventName:
              type: string
            experimentIdProperty:
              type: string
            variationIdProperty:
              type: string
            extraUserIdProperty:
              type: string
          required:
          - viewedExperimentEventName
          - experimentIdProperty
          - variationIdProperty
          - extraUserIdProperty
          additionalProperties: false
      required:
      - id
      - dateCreated
      - dateUpdated
      - type
      - name
      - description
      - projectIds
      - eventTracker
      - identifierTypes
      - assignmentQueries
      - identifierJoinQueries
      additionalProperties: false
  parameters:
    id:
      name: id
      in: path
      required: true
      description: The id of the requested resource
      schema:
        description: The id of the requested resource
        type: string
    projectId:
      name: projectId
      in: query
      description: Filter by project id
      schema:
        description: Filter by project id
        type: string
    dataSourceId:
      name: dataSourceId
      in: path
      required: true
      description: The id of the data source
      schema:
        description: The id of the data source
        type: string
    limit:
      name: limit
      in: query
      description: The number of items to return
      schema:
        default: 10
        description: The number of items to return
        type: integer
        minimum: 1
        maximum: 100
    offset:
      name: offset
      in: query
      description: How many items to skip (use in conjunction with limit for pagination)
      schema:
        default: 0
        description: How many items to skip (use in conjunction with limit for pagination)
        type: integer
        minimum: 0
    tableId:
      name: tableId
      in: path
      required: true
      description: The id of the information schema table
      schema:
        description: The id of the information schema table
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'If using Bearer auth, pass the Secret Key as the token:

        ```bash

        curl https://api.growthbook.io/api/v1/features   -H "Authorization: Bearer secret_abc123DEF456"

        ```

        '
    basicAuth:
      type: http
      scheme: basic
      description: 'If using HTTP Basic auth, pass the Secret Key as the username and leave the password blank:

        ```bash

        curl https://api.growthbook.io/api/v1/features   -u secret_abc123DEF456:

        # The ":" at the end stops curl from asking for a password

        ```

        '
x-tagGroups:
- name: Endpoints
  tags:
  - projects
  - environments
  - features-v2
  - feature-revisions-v2
  - features
  - feature-revisions
  - ramp-schedules
  - data-sources
  - fact-tables
  - fact-metrics
  - metrics
  - experiments
  - namespaces
  - snapshots
  - dimensions
  - segments
  - sdk-connections
  - visual-changesets
  - saved-groups
  - organizations
  - members
  - code-references
  - archetypes
  - queries
  - settings
  - attributes
  - usage
  - Dashboards
  - CustomFields
  - MetricGroups
  - Teams
  - ExperimentTemplates
  - AnalyticsExplorations
  - RampScheduleTemplates
- name: Models
  tags:
  - AnalyticsExploration_model
  - Archetype_model
  - Attribute_model
  - CodeRef_model
  - CustomField_model
  - Dashboard_model
  - DataSource_model
  - Dimension_model
  - Environment_model
  - Experiment_model
  - ExperimentAnalysisSettings_model
  - ExperimentDecisionFrameworkSettings_model
  - ExperimentMetric_model
  - ExperimentMetricOverrideEntry_model
  - ExperimentResults_model
  - ExperimentSnapshot_model
  - ExperimentTemplate_model
  - ExperimentWithEnhancedStatus_model
  - FactMetric_model
  - FactTable_model
  - FactTableColumn_model
  - FactTableFilter_model
  - Feature_model
  - FeatureBaseRule_model
  - FeatureDefinition_model
  - FeatureEnvironment_model
  - FeatureEnvironmentV2_model
  - FeatureExperimentRefRule_model
  - FeatureExperimentRule_model
  - FeatureForceRule_model
  - FeatureRevision_model
  - FeatureRevisionV2_model
  - FeatureRolloutRule_model
  - FeatureRule_model
  - FeatureRuleV2_model
  - FeatureSafeRolloutRule_model
  - FeatureV2_model
  - FeatureWithRevisions_model
  - FeatureWithRevisionsV2_model
  - InformationSchema_model
  - InformationSchemaTable_model
  - LookbackOverride_model
  - Member_model
  - Metric_model
  - MetricAnalysis_model
  - MetricGroup_model
  - MetricUsage_model
  - Namespace_model
  - NamespaceExperimentMember_model
  - Organization_model
  - PaginationFields_model
  - Project_model
  - Query_model
  - RampSchedule_model
  - RampScheduleTemplate_model
  - SavedGroup_model
  - ScheduleRule_model
  - SdkConnection_model
  - Segment_model
  - Settings_model
  - Team_model
  - VisualChange_model
  - VisualChangeset_model