analytics

Prompt analytics

Returns per-prompt aggregates across the filter window, scoped to a single brand. Each row also lists the distinct tracked brands that were mentioned in the prompt's responses during the window. The response is paginated.

get/api/v1/analytics/prompts

Request

  • Base URL: https://pineprompt.com
  • URL: https://pineprompt.com/api/v1/analytics/prompts
  • Auth: HTTP bearer

Query parameters

start_datestring date required
Example:2026-04-01

The inclusive UTC start of the analytics window, given as an ISO 8601 date (YYYY-MM-DD).

end_datestring date required
Example:2026-05-20

The inclusive UTC end of the analytics window. The value must be on or after start_date, and on or before today.

brand_idinteger required
Example:555

The numeric ID of the brand to scope per-row metrics to. The brand must belong to the active project.

platformsstring[]

You may use this parameter to limit responses to one or more AI platforms. Repeat the parameter for each value, for example ?platforms[]=chatgpt&platforms[]=claude. When omitted, every platform is included. Accepted values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, and google_ai_overview.

countriesstring[]

You may use this parameter to limit responses to monitors run in the given ISO-3166-1 alpha-2 country codes.

[
  "US",
  "NL"
]
monitorsinteger[]

You may use this parameter to limit responses to specific monitors inside the active project.

[
  271,
  272
]
segmentsinteger[]

You may use this parameter to limit responses and brand-scoped metrics to brands attached to any of the given segments. Segments are named groupings of brands, such as Direct Competitors. When this parameter is set, time-series charts show every brand in the selected segments instead of capping the series at top_n, and share-of-voice ratios are computed within the segment, so each brand's share reads against the other brands in the selected segments. Source-keyed endpoints do not honor this parameter.

[
  12
]
tagsinteger[]

You may use this parameter to limit responses to those whose prompt carries any of the given tag IDs, such as branded or non-branded.

[
  3,
  5
]
pageinteger
Example:1

The page number to return. Defaults to 1.

per_pageinteger
Example:25

The number of items per page. Defaults to 25, maximum 100.

sort_by'visibility' | 'share_of_voice' | 'sentiment' | 'position'

The field to sort by. Defaults to visibility.

sort_order'asc' | 'desc'

The direction to sort by. Each endpoint has its own default.

Headers

Pineprompt-Project-Idinteger required

The active project's numeric ID.

Response

OK

Example response

{
  "data": [
    {
      "prompt": {
        "id": 901,
        "monitor_id": 271,
        "prompt": "What are the best AI visibility monitoring tools?",
        "is_active": true,
        "monitor": {
          "id": 271,
          "project_id": 42,
          "name": "Brand visibility (US)",
          "platforms": [
            "chatgpt",
            "perplexity",
            "claude"
          ],
          "country": "US",
          "language": "en",
          "is_active": true,
          "project": {
            "id": 42,
            "organization_id": 7,
            "name": "Acme Marketing",
            "brand_id": 555,
            "organization": {
              "id": 7,
              "name": "Acme Inc.",
              "created_at": "2026-05-15T09:11:42+00:00",
              "updated_at": "2026-05-15T09:11:42+00:00"
            },
            "created_at": "2026-05-15T09:11:42+00:00",
            "updated_at": "2026-05-15T09:11:42+00:00"
          },
          "created_at": "2026-05-15T09:11:42+00:00",
          "updated_at": "2026-05-15T09:11:42+00:00"
        },
        "created_at": "2026-05-15T09:11:42+00:00",
        "updated_at": "2026-05-15T09:11:42+00:00"
      },
      "brand": {
        "id": 555,
        "project_id": 42,
        "display_name": "Acme Inc.",
        "aliases": [
          "Acme",
          "Acme Co"
        ],
        "domains": [
          "acme.com",
          "acme.co"
        ],
        "kind": "competitor",
        "color": "#008FFB",
        "project": {
          "id": 42,
          "organization_id": 7,
          "name": "Acme Marketing",
          "brand_id": 555,
          "organization": {
            "id": 7,
            "name": "Acme Inc.",
            "created_at": "2026-05-15T09:11:42+00:00",
            "updated_at": "2026-05-15T09:11:42+00:00"
          },
          "created_at": "2026-05-15T09:11:42+00:00",
          "updated_at": "2026-05-15T09:11:42+00:00"
        },
        "created_at": "2026-05-15T09:11:42+00:00",
        "updated_at": "2026-05-15T09:11:42+00:00"
      },
      "visibility": 73,
      "visibility_change": 5,
      "share_of_voice": 28,
      "share_of_voice_change": -2,
      "sentiment": 67,
      "sentiment_change": 1,
      "position": 1.4,
      "position_change": -0.2,
      "mentions": [
        {
          "id": 555,
          "project_id": 42,
          "display_name": "Acme Inc.",
          "aliases": [
            "Acme",
            "Acme Co"
          ],
          "domains": [
            "acme.com",
            "acme.co"
          ],
          "kind": "competitor",
          "color": "#008FFB",
          "project": {
            "id": 42,
            "organization_id": 7,
            "name": "Acme Marketing",
            "brand_id": 555,
            "organization": {
              "id": 7,
              "name": "Acme Inc.",
              "created_at": "2026-05-15T09:11:42+00:00",
              "updated_at": "2026-05-15T09:11:42+00:00"
            },
            "created_at": "2026-05-15T09:11:42+00:00",
            "updated_at": "2026-05-15T09:11:42+00:00"
          },
          "created_at": "2026-05-15T09:11:42+00:00",
          "updated_at": "2026-05-15T09:11:42+00:00"
        }
      ]
    }
  ],
  "links": {
    "first": "https://pineprompt.com/api/v1/monitors?page=1",
    "last": "https://pineprompt.com/api/v1/monitors?page=1"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "https://pineprompt.com/api/v1/monitors",
    "per_page": 25,
    "to": 1,
    "total": 1,
    "links": [
      {
        "url": "https://pineprompt.com/api/v1/monitors?page=2",
        "label": "2",
        "page": 2
      }
    ]
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.