Industries

Latest industry answers

The newest stored answer for each of your industry's prompts, from each AI model at each location, with the full response text — and for every answer, whether it named your brand, where in the answer, and in what tone. This is how you find the prompts the AI answers without you, and read exactly what it says when it does.

Only your organization's own industry can be read here; any other id is a 404. Requires the GEO product.

Each prompt × model × location has exactly one newest answer, so there is no date window: since hides combinations whose newest answer is older than that day rather than returning older answers. Ask "which prompts does this model answer without naming me" with mentioned=false and models set to that one model — every other model's answer to the same prompt is a separate row, and you have not asked for it.

Answers where the model returned nothing are left out unless you pass include_empty=true. An answer with no text names no brands, so it would otherwise read as an answer that left you out.

The same brand is named in one answer as Rival Bank and in another as Rival; brands[].key is the same for both, so you can group on it. Paged, newest first. limit and offset are validated rather than adjusted: a limit above 100 is a 400, not a silently smaller page.

get/org/industries/{id}/answers/latest

Request

  • Base URL
    https://apiv2.senso.ai/api/v1
  • Auth
    API key in header X-API-Key

Path parameters

idstring uuid required

The industry's id — from GET /org/industries, or your organization's own industry.

Query parameters

mentionedboolean

Restrict to answers that did (true) or did not (false) name your brand. Omit for all answers.

modelsstring

Comma-separated AI models to include — any of gpt-4.1, chatgpt, perplexity, aioverview, gemini, linkup, claude-sonnet-4-6, and grok. Omit for all models; an unknown value is a 400.

locationstring

Restrict to answers collected for one location, using the value the industry's runs record — a country code such as US, or a country/region pair such as US/California. Omit to sum every location.

prompt_idsstring

Comma-separated prompt ids (from GET /org/industries/{id}/prompts) to restrict to. Omit for every prompt. An id that is not a uuid is a 400.

sincestring date

Only include answers collected on or after this day, YYYY-MM-DD. Omit for no lower bound.

include_emptyboolean

true to include answers where the model returned nothing. Defaults to false.

limitinteger

Page size (1-100). Defaults to 25. Anything else is a 400.

offsetinteger

Number of answers to skip. Defaults to 0. A negative or non-integer value is a 400.

Response

One page of the industry's newest answers. When the industry has no results yet, or is not included in your plan, answers is empty and notes says so.

totalinteger required

Answers matching every filter, including mentioned, across all pages — not the size of this page.

limitinteger required

The page size applied.

offsetinteger required

The offset applied.

notesstring[] required

How to read the payload — always that rows are single answers and must never be summed; when the industry has nothing to show you, why answers is empty.

definitionsobject required

One-line definitions of the metrics behind this payload, keyed by glossary metric name (not by response field name).

Example response

{
  "total": 47,
  "limit": 25,
  "answers": [
    {
      "prompt_text": "Which bank has the best mortgage rates?",
      "model": "chatgpt",
      "location": "US",
      "rank": 2,
      "sentiment": "positive",
      "sov_pct": 25,
      "brand_count": 7,
      "brands": [
        {
          "key": "rival bank",
          "name": "Rival Bank",
          "rank": 1,
          "mentions": 3,
          "sentiment": "positive"
        }
      ],
      "citation_count": 9,
      "source_count": 12,
      "citations": [
        {
          "domain": "nerdwallet.com"
        }
      ]
    }
  ]
}

Changes

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