sensorhubDevelopers
Open SensorhubGet an API key
Browse documentation
REST API / Collections

considered_sources

CollectionLarge: filter on indexed fields

Uncited source candidates associated with an AI answer. ENGINE_GROUNDED is engine-observed grounding; SERP_ORGANIC and RELATED_QUESTION are observed search candidates, not proof the AI read a page. SYNTHETIC_SERP is synthetic search, never AI retrieval. Filter discovered_via before computing rates. Outside text follows the mentions masking rules.

Max rows per query
100
Default order
id asc
Required filter
one of project_id, id, answer_id
Max offset
2000
Cursor paging
by id

Use read report_* for dashboard headline metrics and anchored comparison windows.

Fields

FieldTypeDescriptionFilterSort
id
indexed
stringUnique row ID.✓✓
project_id
indexed
stringProject ID from projects.✓–
answer_id
indexed
stringAI answer ID.✓✓
url
nullable redacted
stringSource URL, or null when it identifies a personal account.––
domain
indexed
stringSource domain.✓✓
title
nullable redacted
stringSource title; null for LinkedIn sources.––
snippet
nullable redacted
stringSource excerpt; null for LinkedIn sources.––
discovered_via
indexed
stringHow the source was discovered.
ENGINE_GROUNDED SERP_ORGANIC RELATED_QUESTION SYNTHETIC_SERP
✓✓
serp_query
nullable
stringSearch query that surfaced the source.––
serp_position
nullable
integerSearch result position.––
category
nullable
stringSource category.
EDITORIAL REVIEW DIRECTORY BRAND WIKIPEDIA SOCIAL COMMUNITY UGC OTHER
––
page_type
nullable indexed
stringPage type.✓✓
published_at
nullable
datetimeSource publication time.––
redacted_fields
jsonPopulated fields hidden by privacy policy, with a reason. Empty means no populated field was redacted.––

Examples

Example
SELECT id, project_id, answer_id, url, domain
FROM considered_sources
WHERE project_id = $1
ORDER BY id ASC
LIMIT 25

Calling it

MCP

Tool call
query({"sql":"SELECT id, project_id, answer_id, url, domain FROM considered_sources WHERE project_id = $1 ORDER BY id ASC LIMIT 25","params":["<value 1>"]})

REST

curl
curl -X POST "https://app.sensorhub.ai/api/v1/query" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "sql": "SELECT id, project_id, answer_id, url, domain FROM considered_sources WHERE project_id = $1 ORDER BY id ASC LIMIT 25",
  "params": [
    "<value 1>"
  ]
}
JSON
Row JSON Schema
json
{
  "type": "object",
  "description": "Uncited source candidates associated with an AI answer. ENGINE_GROUNDED is engine-observed grounding; SERP_ORGANIC and RELATED_QUESTION are observed search candidates, not proof the AI read a page. SYNTHETIC_SERP is synthetic search, never AI retrieval. Filter discovered_via before computing rates. Outside text follows the mentions masking rules.",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique row ID.",
      "x-sensorhub-indexed": true,
      "x-sensorhub-searchable": false,
      "x-sensorhub-aggregatable": true,
      "x-sensorhub-filterable": true,
      "x-sensorhub-sortable": true
    },
    "project_id": {
      "type": "string",
      "description": "Project ID from projects.",
      "x-sensorhub-indexed": true,
      "x-sensorhub-searchable": false,
      "x-sensorhub-aggregatable": false,
      "x-sensorhub-filterable": true,
      "x-sensorhub-sortable": false
    },
    "answer_id": {
      "type": "string",
      "description": "AI answer ID.",
      "x-sensorhub-indexed": true,
      "x-sensorhub-searchable": false,
      "x-sensorhub-aggregatable": true,
      "x-sensorhub-filterable": true,
      "x-sensorhub-sortable": true
    },
    "url": {
      "type": [
        "string",
        "null"
      ],
      "description": "Source URL, or null when it identifies a personal account.",
      "x-sensorhub-indexed": false,
      "x-sensorhub-searchable": false,
      "x-sensorhub-aggregatable": false,
      "x-sensorhub-filterable": false,
      "x-sensorhub-sortable": false
    },
    "domain": {
      "type": "string",
      "description": "Source domain.",
      "x-sensorhub-indexed": true,
      "x-sensorhub-searchable": false,
      "x-sensorhub-aggregatable": true,
      "x-sensorhub-filterable": true,
      "x-sensorhub-sortable": true
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "Source title; null for LinkedIn sources.",
      "x-sensorhub-indexed": false,
      "x-sensorhub-searchable": false,
      "x-sensorhub-aggregatable": false,
      "x-sensorhub-filterable": false,
      "x-sensorhub-sortable": false
    },
    "snippet": {
      "type": [
        "string",
        "null"
      ],
      "description": "Source excerpt; null for LinkedIn sources.",
      "x-sensorhub-indexed": false,
      "x-sensorhub-searchable": false,
      "x-sensorhub-aggregatable": false,
      "x-sensorhub-filterable": false,
      "x-sensorhub-sortable": false
    },
    "discovered_via": {
      "type": "string",
      "description": "How the source was discovered.",
      "enum": [
        "ENGINE_GROUNDED",
        "SERP_ORGANIC",
        "RELATED_QUESTION",
        "SYNTHETIC_SERP"
      ],
      "x-sensorhub-filter-operators": [
        "=",
        "!=",
        "<>",
        "IN",
        "NOT IN",
        "IS NULL",
        "IS NOT NULL"
      ],
      "x-sensorhub-indexed": true,
      "x-sensorhub-searchable": false,
      "x-sensorhub-aggregatable": true,
      "x-sensorhub-filterable": true,
      "x-sensorhub-sortable": true
    },
    "serp_query": {
      "type": [
        "string",
        "null"
      ],
      "description": "Search query that surfaced the source.",
      "x-sensorhub-indexed": false,
      "x-sensorhub-searchable": false,
      "x-sensorhub-aggregatable": true,
      "x-sensorhub-filterable": false,
      "x-sensorhub-sortable": false
    },
    "serp_position": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Search result position.",
      "x-sensorhub-indexed": false,
      "x-sensorhub-searchable": false,
      "x-sensorhub-aggregatable": true,
      "x-sensorhub-filterable": false,
      "x-sensorhub-sortable": false
    },
    "category": {
      "type": [
        "string",
        "null"
      ],
      "description": "Source category.",
      "enum": [
        "EDITORIAL",
        "REVIEW",
        "DIRECTORY",
        "BRAND",
        "WIKIPEDIA",
        "SOCIAL",
        "COMMUNITY",
        "UGC",
        "OTHER",
        null
      ],
      "x-sensorhub-filter-operators": [],
      "x-sensorhub-indexed": false,
      "x-sensorhub-searchable": false,
      "x-sensorhub-aggregatable": true,
      "x-sensorhub-filterable": false,
      "x-sensorhub-sortable": false
    },
    "page_type": {
      "type": [
        "string",
        "null"
      ],
      "description": "Page type.",
      "x-sensorhub-indexed": true,
      "x-sensorhub-searchable": false,
      "x-sensorhub-aggregatable": true,
      "x-sensorhub-filterable": true,
      "x-sensorhub-sortable": true
    },
    "published_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "Source publication time.",
      "format": "date-time",
      "x-sensorhub-indexed": false,
      "x-sensorhub-searchable": false,
      "x-sensorhub-aggregatable": true,
      "x-sensorhub-filterable": false,
      "x-sensorhub-sortable": false
    },
    "redacted_fields": {
      "description": "Populated fields hidden by privacy policy, with a reason. Empty means no populated field was redacted.",
      "x-sensorhub-indexed": false,
      "x-sensorhub-searchable": false,
      "x-sensorhub-aggregatable": false,
      "x-sensorhub-filterable": false,
      "x-sensorhub-sortable": false
    }
  },
  "additionalProperties": false
}