Pollfish

Pollfish is a mobile-first survey and market research platform, owned by Prodege LLC. It lets researchers reach real respondents inside mobile apps and websites and lets app publishers monetize their audience by serving Pollfish (and mediated third-party) surveys as rewarded ads or an offerwall. Pollfish exposes a REST Dashboard API on https://www.pollfish.com for managing publisher apps and pulling performance, revenue, demographic, and user-log analytics (HTTP Basic Auth), plus a survey-serving / offerwall API on https://wss.pollfish.com for requesting and rendering surveys, and server-to-server postback callbacks for survey-completion and eligibility events. Survey creation and audience targeting for researchers are done through the Pollfish dashboard and are not exposed as a documented public REST API.

7 APIs 0 Features
SurveysMarket ResearchMobileMonetizationOfferwallRewarded AdsProdege

APIs

Pollfish Apps API

Create, read, update, and delete the publisher apps (monetization placements) that receive Pollfish surveys. Each app carries category, platform, behavior, reward-currency, and ...

Pollfish Performance API

Pull survey-serving performance metrics (served, seen, accepted, completed) per survey network, for all apps or a single app, over a date range of up to 31 days, optionally grou...

Pollfish Revenue API

Report publisher revenue per survey provider (Pollfish, Toluna, Cint, and other mediation networks) and per country, for all apps or a single app, over a date range, with option...

Pollfish Respondent Demographics API

Fetch the collected demographic profile (gender, year of birth, education, employment, income, marital status, parental, race, career) for a given respondent device id, using Po...

Pollfish User Logs API

Retrieve paginated per-user survey logs for a given device_id or request_uuid - which surveys were started and completed, and the disqualification reason (quota full, screenout,...

Pollfish Survey Distribution and Offerwall API

The SDK-alternative survey-serving surface. Register a device to request a matching survey (or a JSON offerwall list of surveys with reward and remaining-completes data), then l...

Pollfish Server-to-Server Callbacks

Publisher-configured server-to-server postback callbacks. Pollfish fires an HTTP GET to a URL template you register in the dashboard on survey completion and (optionally) on use...

Collections

Pricing Plans

Pollfish Plans Pricing

4 plans

PLANS

Rate Limits

Pollfish Rate Limits

5 limits

RATE LIMITS

FinOps

Resources

🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
💰
Pricing
Pricing
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Pollfish API
  version: '1.0'
  description: 'Documented public REST surfaces of Pollfish (a Prodege mobile survey and market-research platform): the Dashboard
    API on https://www.pollfish.com (HTTP Basic Auth) for app management and analytics, and the survey-serving / offerwall
    API on https://wss.pollfish.com (HTTPS GET/HEAD, not WebSocket).'
request:
  auth:
    type: basic
    username: '{{pollfishEmail}}'
    password: '{{accountSecretKey}}'
items:
- info:
    name: Apps
    type: folder
  items:
  - info:
      name: List apps.
      type: http
    http:
      method: GET
      url: https://www.pollfish.com/api/public/v2/apps
    docs: Returns an array of the developer's apps.
  - info:
      name: Create an app.
      type: http
    http:
      method: POST
      url: https://www.pollfish.com/api/public/v2/apps
      body:
        type: json
        data: "{\n  \"name\": \"MyNewApp\",\n  \"category\": \"IAB22\",\n  \"subcategory\": \"IAB22-2\",\n  \"url\": \"https://play.google.com/store/apps/details?id=com.pollfish.demo\"\
          ,\n  \"platform\": 0\n}"
    docs: Creates a new publisher app (monetization placement) and returns its api_key.
  - info:
      name: Get an app.
      type: http
    http:
      method: GET
      url: https://www.pollfish.com/api/public/v2/apps/:api_key
      params:
      - name: api_key
        value: ''
        type: path
        description: The app's api_key.
    docs: Returns a single app object by api_key.
  - info:
      name: Update an app.
      type: http
    http:
      method: PUT
      url: https://www.pollfish.com/api/public/v2/apps/:api_key
      params:
      - name: api_key
        value: ''
        type: path
        description: The app's api_key.
      body:
        type: json
        data: "{\n  \"name\": \"MyNewApp2\",\n  \"third_party_surveys_enabled\": false\n}"
    docs: Updates properties of an existing app.
  - info:
      name: Delete an app.
      type: http
    http:
      method: DELETE
      url: https://www.pollfish.com/api/public/v2/apps/:api_key
      params:
      - name: api_key
        value: ''
        type: path
        description: The app's api_key.
    docs: Deletes an app by api_key.
- info:
    name: Performance
    type: folder
  items:
  - info:
      name: Performance for all apps.
      type: http
    http:
      method: GET
      url: https://www.pollfish.com/api/public/v3/apps/performance
      params:
      - name: from
        value: '2026-06-01'
        type: query
        description: ISO 8601 start date (UTC).
      - name: to
        value: '2026-06-30'
        type: query
        description: ISO 8601 end date (UTC). Window <= 31 days.
    docs: Performance metrics per network across all apps.
  - info:
      name: Performance for one app.
      type: http
    http:
      method: GET
      url: https://www.pollfish.com/api/public/v3/apps/:api_key/performance
      params:
      - name: api_key
        value: ''
        type: path
        description: The app's api_key.
      - name: from
        value: '2026-06-01'
        type: query
      - name: to
        value: '2026-06-30'
        type: query
    docs: Performance metrics for a single app.
  - info:
      name: Performance by country (one app).
      type: http
    http:
      method: GET
      url: https://www.pollfish.com/api/public/v3/apps/:api_key/performanceByCountry
      params:
      - name: api_key
        value: ''
        type: path
        description: The app's api_key.
      - name: from
        value: '2026-06-01'
        type: query
      - name: to
        value: '2026-06-30'
        type: query
    docs: Performance metrics for a single app grouped by country.
- info:
    name: Revenue
    type: folder
  items:
  - info:
      name: Revenue per provider (all apps).
      type: http
    http:
      method: GET
      url: https://www.pollfish.com/api/public/v3/apps/revenue
      params:
      - name: from
        value: '2026-06-01'
        type: query
      - name: to
        value: '2026-06-30'
        type: query
      - name: countries
        value: US,FR
        type: query
        description: Comma-separated ISO Alpha-2 codes.
    docs: Total revenue per survey provider across all apps.
  - info:
      name: Revenue per provider (one app).
      type: http
    http:
      method: GET
      url: https://www.pollfish.com/api/public/v3/apps/:api_key/revenue
      params:
      - name: api_key
        value: ''
        type: path
        description: The app's api_key.
      - name: from
        value: '2026-06-01'
        type: query
      - name: to
        value: '2026-06-30'
        type: query
    docs: Total revenue per survey provider for a single app.
  - info:
      name: Revenue per country (all apps).
      type: http
    http:
      method: GET
      url: https://www.pollfish.com/api/public/v3/apps/revenuePerCountry
      params:
      - name: from
        value: '2026-06-01'
        type: query
      - name: to
        value: '2026-06-30'
        type: query
    docs: Total revenue per country across all apps.
  - info:
      name: Revenue per country (one app).
      type: http
    http:
      method: GET
      url: https://www.pollfish.com/api/public/v3/apps/:api_key/revenuePerCountry
      params:
      - name: api_key
        value: ''
        type: path
        description: The app's api_key.
      - name: from
        value: '2026-06-01'
        type: query
      - name: to
        value: '2026-06-30'
        type: query
    docs: Total revenue per country for a single app.
- info:
    name: Demographics
    type: folder
  items:
  - info:
      name: Get respondent demographics.
      type: http
    http:
      method: GET
      url: https://www.pollfish.com/api/public/v3/apps/demographics
      params:
      - name: user
        value: 4daf6394-4e9e-4d90-97b0-d665efad734b
        type: query
        description: Respondent device id.
    docs: Returns the demographic profile for a respondent device id (enumeration codes).
- info:
    name: User Logs
    type: folder
  items:
  - info:
      name: Get user logs.
      type: http
    http:
      method: GET
      url: https://www.pollfish.com/api/public/v3/apps/:api_key/users_log
      params:
      - name: api_key
        value: ''
        type: path
        description: The app's api_key.
      - name: key
        value: 4daf6394-4e9e-4d90-97b0-d665efad734b
        type: query
        description: device_id or request_uuid.
      - name: page
        value: '1'
        type: query
      - name: rows
        value: '50'
        type: query
    docs: Paginated per-user survey logs with disqualification reasons.
- info:
    name: Survey Distribution
    type: folder
  items:
  - info:
      name: Register device (request survey / offerwall).
      type: http
    http:
      method: GET
      url: https://wss.pollfish.com/v2/device/register/true
      auth:
        type: none
      params:
      - name: dontencrypt
        value: 'true'
        type: query
        description: Required on every request.
      - name: json
        value: '{"offerwall":"true","api_key":"YOUR_API_KEY","device_id":"UNKNOWN_DEVICE_ID","timestamp":"1551350478","debug":"false","ip":"72.229.28.185","encryption":"NONE","version":"7","os":"3","locale":"en","content_type":"json"}'
        type: query
        description: URL-encoded JSON carrying all register parameters.
    docs: Requests a survey or JSON offerwall for a device. HTTPS GET on wss.pollfish.com (not WebSocket). Returns 200 with
      a survey/offerwall or 204 when none available.
  - info:
      name: Check survey availability (HEAD).
      type: http
    http:
      method: HEAD
      url: https://wss.pollfish.com/v2/device/register/true
      auth:
        type: none
      params:
      - name: dontencrypt
        value: 'true'
        type: query
      - name: json
        value: '{"api_key":"YOUR_API_KEY","device_id":"UNKNOWN_DEVICE_ID","timestamp":"1551350478","encryption":"NONE","version":"7","os":"3","locale":"en","ip":"72.229.28.185"}'
        type: query
    docs: Returns only the status code (200 available, 204 none) without the HTML body.
  - info:
      name: Load a specific survey.
      type: http
    http:
      method: GET
      url: https://wss.pollfish.com/v2/device/survey/:survey_id
      auth:
        type: none
      params:
      - name: survey_id
        value: '1878494'
        type: path
        description: Survey id from an offerwall survey_link.
      - name: dontencrypt
        value: 'true'
        type: query
      - name: json
        value: '{"api_key":"YOUR_API_KEY","device_id":"UNKNOWN_DEVICE_ID","timestamp":"1551350478","encryption":"NONE","version":"7","os":"3","locale":"en","ip":"72.229.28.185"}'
        type: query
    docs: Loads and renders a specific survey by id. Returns an HTML survey page.