chorusresearch-io API

chorusresearch-io API as documented publicly: 12 operations. Contract generated from the documentation by API Evangelist (2026-10-30); not the provider's own document.

Operations 12

GET /audiences Returns all available audiences with targeting details, cost information, and estimated fielding times. #
GET /audiences/{id} Returns a single audience by its identifier. #
GET /health Returns the service health status. #
GET /pricing/config GET /pricing/config #
POST /pricing/estimate Calculates the estimated cost to launch a survey based on audience and target completes. #
GET /surveys GET /surveys #
POST /surveys Creates a new survey project. #
GET /surveys/{id} Returns full survey details including the complete survey definition. #
POST /surveys/{id}/launch Step 1: Get a cost estimate and confirmation token for launching a survey. #
POST /surveys/{id}/launch/confirm Step 2: Execute the launch using the confirmation token from Step 1. #
GET /surveys/{id}/responses Exports survey responses with pagination. #
GET /surveys/{id}/status Returns real-time fielding status including completion progress. #

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/chorusresearch-io:chorusresearch-io-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

chorusresearch-io-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: chorusresearch-io API
  version: '2026-10-30'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-30: 12 operation(s) read from 2 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; chorusresearch-io has published no machine-readable contract
    that the pipeline could find. Engine: anthropic.'
  x-evidence-tiers:
    code-example: 3
    documentation: 9
    pages-with-code: 2
    pages-read: 2
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-30'
  x-generator: generate-contract-from-docs.py
  x-engine: anthropic
  x-sources:
  - https://chorusresearch.io/docs/api
  - https://chorusresearch.io/docs/guide
servers:
- url: https://api.chorusresearch.io
paths:
  /audiences:
    get:
      operationId: get_audiences
      tags:
      - Audiences
      summary: Returns all available audiences with targeting details, cost information, and estimated fielding times.
      x-source: https://chorusresearch.io/docs/api
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAudiencesResponse'
      x-evidence:
        kind: documentation
  /audiences/{id}:
    get:
      operationId: get_audiences_id
      tags:
      - Audiences
      summary: Returns a single audience by its identifier.
      x-source: https://chorusresearch.io/docs/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAudiencesIdResponse'
      x-evidence:
        kind: documentation
  /health:
    get:
      operationId: get_health
      tags:
      - Health
      summary: Returns the service health status.
      x-source: https://chorusresearch.io/docs/api
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetHealthResponse'
      x-evidence:
        kind: documentation
  /pricing/config:
    get:
      operationId: get_pricing_config
      tags:
      - Pricing
      summary: GET /pricing/config
      x-source: https://chorusresearch.io/docs/api
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPricingConfigResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl Copy curl https://api.chorusresearch.io/pricing/config  -H 'Authorization: Bearer YOUR_API_KEY' 200 Pricing configuration\
          \ {\n \"costPerResponse\": 1,\n \"currency\": \"USD\"\n} Launches Launching a survey is a two-step process to prevent accidental charges.\
          \ First, request a cost estimate and receive a confirmation token. Then, confirm the launch with the token to execute payment and begin\
          \ fielding. Tw"
  /pricing/estimate:
    post:
      operationId: post_pricing_estimate
      tags:
      - Pricing
      summary: Calculates the estimated cost to launch a survey based on audience and target completes.
      x-source: https://chorusresearch.io/docs/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostPricingEstimateRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostPricingEstimateResponse'
      x-evidence:
        kind: documentation
  /surveys:
    get:
      operationId: get_surveys
      tags:
      - Surveys
      summary: GET /surveys
      x-source: https://chorusresearch.io/docs/api
      responses:
        '200':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSurveysResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl Copy curl -X GET https://api.chorusresearch.io/surveys  -H 'Authorization: Bearer YOUR_API_KEY' JavaScript Copy const response\
          \ = await fetch('https://api.chorusresearch.io/surveys', {\n headers: {\n 'Authorization': 'Bearer YOUR_API_KEY',\n 'Content-Type':\
          \ 'application/json'\n }\n});\nconst data = await response.json(); You can obtain an API key from the API Keys section in the left navigation\
          \ menu"
    post:
      operationId: post_surveys
      tags:
      - Surveys
      summary: Creates a new survey project.
      x-source: https://chorusresearch.io/docs/api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostSurveysRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostSurveysResponse'
      x-evidence:
        kind: documentation
  /surveys/{id}:
    get:
      operationId: get_surveys_id
      tags:
      - Surveys
      summary: Returns full survey details including the complete survey definition.
      x-source: https://chorusresearch.io/docs/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSurveysIdResponse'
      x-evidence:
        kind: documentation
  /surveys/{id}/launch:
    post:
      operationId: post_surveys_id_launch
      tags:
      - Surveys
      summary: 'Step 1: Get a cost estimate and confirmation token for launching a survey.'
      x-source: https://chorusresearch.io/docs/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostSurveysIdLaunchRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostSurveysIdLaunchResponse'
      x-evidence:
        kind: documentation
  /surveys/{id}/launch/confirm:
    post:
      operationId: post_surveys_id_launch_confirm
      tags:
      - Surveys
      summary: 'Step 2: Execute the launch using the confirmation token from Step 1.'
      x-source: https://chorusresearch.io/docs/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostSurveysIdLaunchConfirmRequest'
      responses:
        '201':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostSurveysIdLaunchConfirmResponse'
      x-evidence:
        kind: documentation
  /surveys/{id}/responses:
    get:
      operationId: get_surveys_id_responses
      tags:
      - Surveys
      summary: Exports survey responses with pagination.
      x-source: https://chorusresearch.io/docs/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: page
        in: query
        required: false
        schema:
          type: integer
        description: 'Page number Default: 1'
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
        description: 'Results per page (max 1000) Default: 100'
      - name: status
        in: query
        required: false
        schema:
          type: string
        description: 'Filter by: complete, partial, incomplete Default: complete'
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSurveysIdResponsesResponse'
      x-evidence:
        kind: documentation
  /surveys/{id}/status:
    get:
      operationId: get_surveys_id_status
      tags:
      - Surveys
      summary: Returns real-time fielding status including completion progress.
      x-source: https://chorusresearch.io/docs/api
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSurveysIdStatusResponse'
      x-evidence:
        kind: documentation
components:
  schemas:
    GetAudiencesResponse:
      type: object
      properties:
        audiences:
          type: array
        count:
          type: integer
    GetAudiencesIdResponse:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        costPerResponse:
          type: number
        minTargetCompletes:
          type: integer
        maxTargetCompletes:
          type: integer
        averageLengthOfInterview:
          type: integer
        targeting:
          type: object
        estimatedFieldingTime:
          type: object
    GetHealthResponse:
      type: object
      properties:
        status:
          type: string
        service:
          type: string
        timestamp:
          type: string
    GetPricingConfigResponse:
      type: object
      properties:
        costPerResponse:
          type: integer
        currency:
          type: string
    PostPricingEstimateRequest:
      type: object
      properties:
        audienceId:
          type: string
          description: Target audience identifier
        targetCompletes:
          type: integer
          description: 'Desired number of completed responses (min: 5, $5 minimum purchase)'
        projectId:
          type: string
          description: Survey project ID for the estimate
      required:
      - audienceId
      - targetCompletes
      - projectId
    PostPricingEstimateResponse:
      type: object
      properties:
        audienceId:
          type: string
        targetCompletes:
          type: integer
        baseCostPerComplete:
          type: number
        subtotal:
          type: number
        total:
          type: number
        currency:
          type: string
    GetSurveysResponse:
      type: object
      properties:
        headers:
          type: object
          properties:
            Authorization:
              type: string
            Content-Type:
              type: string
    PostSurveysRequest:
      type: object
      properties:
        name:
          type: string
          description: Survey name (1-255 characters)
        survey:
          type: object
          description: Survey definition in Chorus Research format
        targetCompletes:
          type: integer
          description: 'Target number of completed responses (min: 5, $5 minimum purchase)'
        description:
          type: string
          description: Survey description (max 1000 characters)
      required:
      - name
      - survey
    PostSurveysResponse:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        survey:
          type: object
        targetCompletes:
          type: integer
        description:
          type: string
        status:
          type: string
        createdAt:
          type: string
        updatedAt:
          type: string
    GetSurveysIdResponse:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        survey:
          type: object
        targetCompletes:
          type: integer
        description:
          type: string
        status:
          type: string
        createdAt:
          type: string
        updatedAt:
          type: string
    PostSurveysIdLaunchRequest:
      type: object
      properties:
        audienceId:
          type: string
          description: Target audience identifier
        targetCompletes:
          type: integer
          description: 'Desired number of completed responses (min: 5, $5 minimum purchase)'
      required:
      - audienceId
      - targetCompletes
    PostSurveysIdLaunchResponse:
      type: object
      properties:
        estimatedCost:
          type: number
        breakdown:
          type: object
        confirmToken:
          type: string
        expiresAt:
          type: string
    PostSurveysIdLaunchConfirmRequest:
      type: object
      properties:
        confirmToken:
          type: string
          description: Token received from Step 1 (valid 5 minutes)
        paymentMethodId:
          type: string
          description: Stripe payment method ID (uses default if omitted)
      required:
      - confirmToken
    PostSurveysIdLaunchConfirmResponse:
      type: object
      properties:
        success:
          type: boolean
        publishedSurveyId:
          type: string
        workflowId:
          type: string
        paymentIntentId:
          type: string
        amountCharged:
          type: number
        currency:
          type: string
        targetCompletes:
          type: integer
    GetSurveysIdResponsesResponse:
      type: object
      properties:
        responses:
          type: array
        pagination:
          type: object
    GetSurveysIdStatusResponse:
      type: object
      properties:
        projectId:
          type: string
        publishedSurveyId:
          type: string
        status:
          type: string
        completes:
          type: integer
        target:
          type: integer
        progress:
          type: integer
        lastUpdated:
          type: string
        estimatedCompletion:
          type: string
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
security:
- bearer: []
tags:
- name: Audiences
- name: Health
- name: Pricing
- name: Surveys