Panorama API

Brand mentions

Collect a bounded native social search sample for one brand, with original evidence, engagement, dates and per-source coverage. Defaults to Reddit, Hacker News, X, TikTok, Instagram and YouTube, plus configured Bluesky; platforms selects supported alternatives. Strict dates exclude unknown or out-of-window records. Optional indexed history is a separate measurement; source eligibility and workflow limits apply.

Read as Markdown · Use with an AI agent

Endpoint

GET/v1/panorama/brand-mentionslive · provenUp to 5 credits
Try in Playground

Parameters

Query parameters

NameRequiredDescriptionExample
brandyesThe brand or product to find mentions ofminoapi
platformsnoCSV of supported sources: reddit,hackernews,bluesky,github,x,tiktok,instagram,youtube,linkedin,threads,pinterest. Default the six example sources. Each remains subject to eligibility, funding, deadlines and limits.reddit,hackernews,x,tiktok,instagram,youtube
date_modenoranked (default) retains date-labelled matches; strict excludes unknown and out-of-window dates.strict
per_source_limitnoInteger 1–50, default25. Bounded sample per source; no full-platform count.25
lookback_daysnoInteger1–366, default30.30
contextnoOptional subject context, at most1000 characters. Adds a bounded hint from the caller’s positive context to native search and prioritises returned candidates; inspect query_plan and source queries. Also guides optional Jev classification where supported. No inferred aliases or identity guarantee.Mercury, the business banking service; not the planet.
relevancenonone (default) or jev. Optional funded classification on at most20 candidates per brand, balanced across sources within relevance tiers. All original evidence and sampled arithmetic remain available. Inspect selection and classified counts; capacity and funding can leave records unclassified.none
include_historynoOptional indexed web summary, trends and example citations. Defaultfalse. Reported separately from social sample metrics and subject to the same workflow supply budget.true
enrichnonone (default), comments or transcripts. Add context to at most3 supported posts, capped at10 comments or8000 transcript characters each. Enrichment is not counted as another mention.comments
dry_runnoRead a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution.1

Examples

Make the request

curl
curl "https://www.monocrawl.com/v1/panorama/brand-mentions?brand=minoapi" \
  -H "x-api-key: mn_your_key_here"
TypeScript
typescript
const key = process.env.MONOCRAWL_API_KEY;
if (!key) throw new Error('Set MONOCRAWL_API_KEY on your server.');
const res = await fetch(
  "https://www.monocrawl.com/v1/panorama/brand-mentions?brand=minoapi",
  { headers: { "x-api-key": key } },
);
const body = await res.json();

if (!body.success) {
  // one error shape for every endpoint — see /docs/errors
  throw new Error(`${body.error.type}: ${body.error.message}`);
}

console.log(body.data, "credits left:", body.credits_remaining);
Python
python
import os
import requests

res = requests.get(
    "https://www.monocrawl.com/v1/panorama/brand-mentions?brand=minoapi",
    headers={"x-api-key": os.environ["MONOCRAWL_API_KEY"]},
    timeout=60,
)
body = res.json()

if not body["success"]:
    # one error shape for every endpoint — see /docs/errors
    raise RuntimeError(f"{body['error']['type']}: {body['error']['message']}")

print(body["data"], "credits left:", body["credits_remaining"])

Response

Response fields and example

This example is illustrative, not a captured live response. Variable-cost operations may settle a charge different from the list price below. A successful response puts the platform payload in data and reports the exact credits used, remaining balance, request id and cache status beside it.

200 · application/json
{
  "success": true,
  "platform": "panorama",
  "endpoint": "/v1/panorama/brand-mentions",
  "data": {
    "schema_version": "social-evidence-v2",
    "scope": "native_social_search_sample",
    "brand": "My Brand",
    "mentions": 1,
    "engagement": 12,
    "items": [
      {
        "id": "101",
        "platform": "hackernews",
        "source": "hackernews",
        "title": "Using My Brand",
        "text": null,
        "url": "https://news.ycombinator.com/item?id=101",
        "canonical_url": "https://news.ycombinator.com/item?id=101",
        "author": {
          "id": null,
          "handle": "example_reader",
          "name": null,
          "url": null
        },
        "metrics": {
          "likes": null,
          "score": 10,
          "comments": 2,
          "reshares": null,
          "views": null,
          "interactions": 12,
          "complete_interactions": false
        },
        "engagement": 12,
        "created_at": "2026-09-18T12:00:00.000Z",
        "fetched_at": "2026-09-19T12:00:00.000Z",
        "date_status": "within_window",
        "relevance": {
          "method": "literal_subject_match",
          "classification": "keyword_match",
          "entity_verified": false
        },
        "provenance": [
          {
            "platform": "hackernews",
            "endpoint": "search",
            "query": "My Brand",
            "params": {
              "query": "My Brand"
            }
          }
        ]
      }
    ],
    "coverage": {
      "hackernews": {
        "status": "answered",
        "fetched": 1,
        "examined": 1,
        "returned": 1,
        "deduplicated": 0,
        "within_window": 1,
        "undated": 0,
        "outside_window": 0,
        "sample_cap": 25,
        "has_more": false,
        "date_mode": "strict"
      }
    },
    "timeline": [
      {
        "date": "2026-09-18",
        "count": 1
      }
    ],
    "timeline_undated": 0,
    "query_plan": {
      "version": "panorama-context-query-v1",
      "subject": "My Brand",
      "query": "My Brand",
      "mode": "subject",
      "context_terms": [],
      "source_order": [
        "hackernews"
      ],
      "lanes": [
        {
          "platform": "hackernews",
          "query": "My Brand",
          "mode": "subject"
        }
      ],
      "literal_sources": [
        "hackernews"
      ],
      "context_sources": [],
      "max_requests_per_source": 1,
      "policy": "One bounded native search per source. Original subject remains the identity target; lexical matching is not proof of identity."
    },
    "matched_items": [],
    "candidate_items": [
      {
        "id": "101",
        "platform": "hackernews",
        "source": "hackernews",
        "title": "Using My Brand",
        "text": null,
        "url": "https://news.ycombinator.com/item?id=101",
        "canonical_url": "https://news.ycombinator.com/item?id=101",
        "author": {
          "id": null,
          "handle": "example_reader",
          "name": null,
          "url": null
        },
        "metrics": {
          "likes": null,
          "score": 10,
          "comments": 2,
          "reshares": null,
          "views": null,
          "interactions": 12,
          "complete_interactions": false
        },
        "engagement": 12,
        "created_at": "2026-09-18T12:00:00.000Z",
        "fetched_at": "2026-09-19T12:00:00.000Z",
        "date_status": "within_window",
        "relevance": {
          "method": "literal_subject_match",
          "classification": "keyword_match",
          "entity_verified": false
        },
        "provenance": [
          {
            "platform": "hackernews",
            "endpoint": "search",
            "query": "My Brand",
            "params": {
              "query": "My Brand"
            }
          }
        ]
      }
    ],
    "match_summary": {
      "status": "candidates_only",
      "collected_records": 1,
      "supported_matches": 0,
      "supported_useful_matches": 0,
      "lexical_candidates": 1,
      "unresolved_records": 0,
      "unrelated_records": 0,
      "scope": "returned_sample",
      "entity_verified": false,
      "policy": "No completed relevance classification in this illustration. The original records remain available; these are lexical candidates, not verified matches."
    }
  },
  "credits_used": 5,
  "credits_remaining": 99,
  "request_id": "req_…",
  "cached": false
}

The example uses fictional values and shows a documented subset of data. The fields below are optional across supported sources; nullable fields can also be absent. Preserve unknown values and accept additional fields.

Download the data JSON Schema. Validate response.data, not the whole envelope. A valid shape does not establish that every field or source record was returned.

Field inside dataTypeMeaning
schema_versionstring | nullsocial-evidence-v2.
scopestring | nullnative_social_search_sample, not a full platform mention count.
windowobjectNested response fields; optional unless explicitly documented.
window.fromstring | nullWindow start.
window.tostring | nullWindow end.
window.date_modestring | nullranked retains date-labelled results; strict excludes undated and out-of-window rows.
coverageobjectNested response fields; optional unless explicitly documented.
itemsarrayNested response fields; optional unless explicitly documented.
items[].idstring | nullNative record identifier; preserve exact case and value.
items[].platformstring | nullPlatform id.
items[].sourcestring | nullCollection lane.
items[].titlestring | nullOriginal title.
items[].textstring | nullOriginal text.
items[].urlstring | nullOriginal link.
items[].canonical_urlstring | nullDeduplication URL preserving source identity.
items[].authorobjectNested response fields; optional unless explicitly documented.
items[].author.idstring | nullAuthor id.
items[].author.handlestring | nullPublic username.
items[].author.namestring | nullDisplay name.
items[].author.urlstring | nullAuthor link.
items[].metricsobjectNested response fields; optional unless explicitly documented.
items[].metrics.likesnumber | nullNative likes or null.
items[].metrics.scorenumber | nullNative net score; can be negative.
items[].metrics.commentsnumber | nullNative comments or replies.
items[].metrics.resharesnumber | nullNative reposts/reshares.
items[].metrics.viewsnumber | nullNative views; separate from interactions.
items[].metrics.interactionsnumber | nullDocumented interaction total when available.
items[].metrics.complete_interactionsboolean | nullAll inputs for the interaction total are known.
items[].engagementnumber | nullObserved interaction sum; inspect metrics for original counters. This value is not a cross-platform ranking score.
items[].created_atstring | nullPublication timestamp or null.
items[].fetched_atstring | nullCollection timestamp.
items[].date_statusstring | nullwithin_window, outside_window or undated.
items[].relevanceobjectNested response fields; optional unless explicitly documented.
items[].relevance.methodstring | nullliteral_subject_match or jev.
items[].relevance.classificationstring | nullkeyword_match, subject_match, unrelated or needs_review. Lexical matching is not identity verification.
items[].relevance.entity_verifiedboolean | nullFalse for keyword-only matching.
items[].relevance.modelstring | nullModel identifier when classified.
items[].relevance.versionstring | nullClassifier version.
items[].relevance.statusstring | nullclassified or unavailable for optional Jev analysis.
items[].relevance.reasonstring | nullReason analysis was unavailable.
items[].relevance.identitystring | nullyes, no or uncertain.
items[].relevance.identity_supportnumber | nullModel support0–1, not a calibrated correctness probability.
items[].relevance.discussionstring | nullsubstantive, incidental, adjacent, unrelated or uncertain.
items[].relevance.discussion_supportnumber | nullModel support0–1.
items[].relevance.usefulnessstring | nullevidence, question, capability, passing or unclear.
items[].relevance.usefulness_supportnumber | nullModel support0–1.
items[].relevance.evidence_scopestring | nullreturned_title_and_text; attached context is separate reading evidence.
items[].provenancearrayNested response fields; optional unless explicitly documented.
items[].provenance[].platformstring | nullOriginal platform.
items[].provenance[].endpointstring | nullOriginal endpoint.
items[].provenance[].querystring | nullQuery used.
items[].provenance[].paramsobjectNested response fields; optional unless explicitly documented.
items[].context_evidenceobjectNested response fields; optional unless explicitly documented.
items[].context_evidence.kindstring | nullcomments or transcripts.
items[].context_evidence.statusstring | nullanswered, unavailable or invalid_response.
items[].context_evidence.itemsarrayNested response fields; optional unless explicitly documented.
items[].context_evidence.items[].idstring | nullOriginal comment identifier.
items[].context_evidence.items[].textstring | nullReadable comment text; YouTube HTML formatting is converted to plain text.
items[].context_evidence.items[].urlstring | nullOriginal comment URL.
items[].context_evidence.items[].created_atstring | nullOriginal publication timestamp or null.
items[].context_evidence.items[].date_statusstring | nullwithin_window or outside_window against the disclosed context window; undated without a publication timestamp; not_evaluated if no valid window was supplied.
items[].context_evidence.windowobject | nullNested response fields; optional unless explicitly documented.
items[].context_evidence.window.fromstring | nullExplicit parent query-window start.
items[].context_evidence.window.tostring | nullExplicit parent query-window end.
items[].context_evidence.excluded_parent_recordsnumber | nullX records excluded because native ID or canonical URL matched the parent post, not actual replies.
items[].context_evidence.counted_as_mentionsboolean | nullFalse: contextual comments do not add mentions to the search sample.
items[].context_evidence.sample_capnumber | nullAt most 10 returned comments per selected parent.
items[].source_ranknumber | nullOne-based original source page position before non-content filtering and deduplication; null for legacy evidence or separately attached context.
rankingobjectNested response fields; optional unless explicitly documented.
ranking.versionstring | nullpanorama-source-diverse-v2.
ranking.orderstring | nullRelevance tier, authored-content priority, balanced source lanes, context overlap, then native source rank.
ranking.relevance_tiersarrayNested response fields; optional unless explicitly documented.
ranking.source_orderarrayNested response fields; optional unless explicitly documented.
ranking.recordsnumber | nullNumber of records ordered, before any top-evidence preview limit.
ranking.per_sourceobjectNested response fields; optional unless explicitly documented.
ranking.per_tierobjectNested response fields; optional unless explicitly documented.
ranking.source_rank_basisobjectNested response fields; optional unless explicitly documented.
ranking.source_rank_basis.record_source_ranknumber | nullRecords with original one-based page rank.
ranking.source_rank_basis.input_source_ordernumber | nullLegacy records using encounter order within their source.
ranking.accounting_policystring | nullOrdering leaves collected evidence, sample counts and billing unchanged.
ranking.relevance_policystring | nullLexical cues are candidates, not entity verification.
ranking.repeated_text_recordsnumber | nullRepeated long authored text deferred within a relevance tier, not deleted or counted as an independent opinion.
relevance_analysisobjectNested response fields; optional unless explicitly documented.
relevance_analysis.methodstring | nulljev.
relevance_analysis.modelstring | nullConfigured model identifier.
relevance_analysis.versionstring | nullClassification prompt version.
relevance_analysis.examinednumber | nullSelected records, including those whose analysis was unavailable.
relevance_analysis.classifiednumber | nullRecords with complete valid classification answers.
relevance_analysis.batchesnumber | nullAttempted bounded classification batches.
relevance_analysis.statusstring | nullcomplete, partial, unavailable or no_candidates; complete means all selected candidates were classified, not the full pool.
relevance_analysis.unavailablenumber | nullSelected records whose classification did not complete.
relevance_analysis.remaining_unclassifiednumber | nullAll collected records without completed classification, including failed selected candidates.
relevance_analysis.selectionobjectNested response fields; optional unless explicitly documented.
relevance_analysis.selection.versionstring | nullRanking version.
relevance_analysis.selection.limitnumber | nullMaximum candidates; Jev at most20 per brand, enrichment at most3.
relevance_analysis.selection.collectednumber | nullCollected records supplied to selection.
relevance_analysis.selection.eligiblenumber | nullRecords not explicitly classified unrelated.
relevance_analysis.selection.selectednumber | nullRecords selected for attempted interpretation.
relevance_analysis.selection.remaining_eligiblenumber | nullEligible records outside the selection allowance.
relevance_analysis.selection.explicitly_unrelated_not_selectednumber | nullUnrelated records retained in the response without using interpretation slots.
relevance_analysis.selection.per_sourceobjectNested response fields; optional unless explicitly documented.
relevance_analysis.selection.per_tierobjectNested response fields; optional unless explicitly documented.
relevance_analysis.selection.orderstring | nullSelection ordering policy.
relevance_analysis.selection.evidence_preservedboolean | nullTrue; candidate selection does not filter the evidence response.
relevance_analysis.metrics_policystring | nullLabels are additive; sample arithmetic is unchanged.
historyobjectNested response fields; optional unless explicitly documented.
history.scopestring | nullindexed_web_citations.
history.statusstring | nullcomplete, partial or unavailable source operation responses; inspect inner coverage.
history.summaryobject | nullNested response fields; optional unless explicitly documented.
history.summary.schema_versionstring | nullindexed-web-v1.
history.summary.querystring | nullKeyword expression.
history.summary.scopestring | nullindexed_web_citations, separate from native social samples.
history.summary.windowobjectNested response fields; optional unless explicitly documented.
history.summary.window.date_fromstring | nullInclusive UTC date start or null.
history.summary.window.date_tostring | nullInclusive UTC date end or null.
history.summary.window.date_basisstring | nullpublication_date for search/summary, source_reporting_date for trends.
history.summary.window.timezonestring | nullUTC.
history.summary.window.end_inclusiveboolean | nullTrue.
history.summary.window.verifiedboolean | nullTrue only when local publication filtering verified every returned record; aggregate source window enforcement is not established.
history.summary.provenanceobjectNested response fields; optional unless explicitly documented.
history.summary.provenance.collection_methodstring | nullindexed_web.
history.summary.provenance.observed_atstring | nullRequest observation time.
history.summary.provenance.history_available_fromstring | nullEarliest supported index history date; not a promise every keyword has data.
history.summary.provenance.coverage_completeboolean | nullFalse; an index is not a census.
history.summary.provenance.coverage_identitystring | nullNull where no immutable index identity is supplied.
history.summary.provenance.query_fingerprintstring | nullHash of query/filter measurement scope.
history.summary.filtersobjectNested response fields; optional unless explicitly documented.
history.summary.filters.languagestring | nullLanguage filter.
history.summary.filters.countrystring | nullPublisher country, not audience location.
history.summary.filters.page_typesarrayNested response fields; optional unless explicitly documented.
history.summary.filters.verifiedboolean | nullLocal record filter enforcement; aggregate filters are requested but not independently verified.
history.summary._warningsarrayNested response fields; optional unless explicitly documented.
history.summary.total_countnumber | nullIndexed citation count; null means unavailable.
history.summary.count_unitstring | nullindexed_citations.
history.summary.connotation_typesobjectNested response fields; optional unless explicitly documented.
history.summary.connotation_types.positivenumber | nullReported positive polarity assignments; categories need not partition unique citations.
history.summary.connotation_types.negativenumber | nullReported negative polarity assignments; categories need not partition unique citations.
history.summary.connotation_types.neutralnumber | nullReported neutral polarity assignments; categories need not partition unique citations.
history.summary.classified_countnumber | nullSum of reported positive, negative and neutral assignments. The source may assign overlapping categories; not a verified unique-citation total.
history.summary.negative_sharenumber | nullNegative reported assignments divided by all positive+negative+neutral assignments, a fraction0–1. Not the share of unique citations that are negative.
history.summary.negative_share_unitstring | nullfraction.
history.summary.negative_share_denominatorstring | nullpositive + negative + neutral reported polarity assignments; not a verified partition of unique citations.
history.summary.sentiment_methodobjectNested response fields; optional unless explicitly documented.
history.summary.sentiment_method.idstring | nullindexed-source-polarity-v1.
history.summary.sentiment_method.kindstring | nullupstream_classification.
history.summary.sentiment_method.unitstring | nullcitation_count.
history.summary.sentiment_method.confidencenumber | nullNull when undisclosed.
history.summary.sentiment_method.language_coveragestring | nullsource_defined.
history.summary.top_domainsarrayNested response fields; optional unless explicitly documented.
history.summary.top_domains[].domainstring | nullDomain.
history.summary.top_domains[].countnumber | nullIndexed citations.
history.summary.classified_count_unitstring | nullreported_polarity_assignments.
history.trendsobject | nullNested response fields; optional unless explicitly documented.
history.trends.schema_versionstring | nullindexed-web-v1.
history.trends.querystring | nullKeyword expression.
history.trends.scopestring | nullindexed_web_citations, separate from native social samples.
history.trends.windowobjectNested response fields; optional unless explicitly documented.
history.trends.window.date_fromstring | nullInclusive UTC date start or null.
history.trends.window.date_tostring | nullInclusive UTC date end or null.
history.trends.window.date_basisstring | nullpublication_date for search/summary, source_reporting_date for trends.
history.trends.window.timezonestring | nullUTC.
history.trends.window.end_inclusiveboolean | nullTrue.
history.trends.window.verifiedboolean | nullTrue only when local publication filtering verified every returned record; aggregate source window enforcement is not established.
history.trends.provenanceobjectNested response fields; optional unless explicitly documented.
history.trends.provenance.collection_methodstring | nullindexed_web.
history.trends.provenance.observed_atstring | nullRequest observation time.
history.trends.provenance.history_available_fromstring | nullEarliest supported index history date; not a promise every keyword has data.
history.trends.provenance.coverage_completeboolean | nullFalse; an index is not a census.
history.trends.provenance.coverage_identitystring | nullNull where no immutable index identity is supplied.
history.trends.provenance.query_fingerprintstring | nullHash of query/filter measurement scope.
history.trends.filtersobjectNested response fields; optional unless explicitly documented.
history.trends.filters.languagestring | nullLanguage filter.
history.trends.filters.countrystring | nullPublisher country, not audience location.
history.trends.filters.page_typesarrayNested response fields; optional unless explicitly documented.
history.trends.filters.verifiedboolean | nullLocal record filter enforcement; aggregate filters are requested but not independently verified.
history.trends._warningsarrayNested response fields; optional unless explicitly documented.
history.trends.itemsarrayNested response fields; optional unless explicitly documented.
history.trends.items[].total_countnumber | nullIndexed citation count; null means unavailable.
history.trends.items[].count_unitstring | nullindexed_citations.
history.trends.items[].connotation_typesobjectNested response fields; optional unless explicitly documented.
history.trends.items[].connotation_types.positivenumber | nullReported positive polarity assignments; categories need not partition unique citations.
history.trends.items[].connotation_types.negativenumber | nullReported negative polarity assignments; categories need not partition unique citations.
history.trends.items[].connotation_types.neutralnumber | nullReported neutral polarity assignments; categories need not partition unique citations.
history.trends.items[].classified_countnumber | nullSum of reported positive, negative and neutral assignments. The source may assign overlapping categories; not a verified unique-citation total.
history.trends.items[].negative_sharenumber | nullNegative reported assignments divided by all positive+negative+neutral assignments, a fraction0–1. Not the share of unique citations that are negative.
history.trends.items[].negative_share_unitstring | nullfraction.
history.trends.items[].negative_share_denominatorstring | nullpositive + negative + neutral reported polarity assignments; not a verified partition of unique citations.
history.trends.items[].sentiment_methodobjectNested response fields; optional unless explicitly documented.
history.trends.items[].sentiment_method.idstring | nullindexed-source-polarity-v1.
history.trends.items[].sentiment_method.kindstring | nullupstream_classification.
history.trends.items[].sentiment_method.unitstring | nullcitation_count.
history.trends.items[].sentiment_method.confidencenumber | nullNull when undisclosed.
history.trends.items[].sentiment_method.language_coveragestring | nullsource_defined.
history.trends.items[].top_domainsarrayNested response fields; optional unless explicitly documented.
history.trends.items[].top_domains[].domainstring | nullDomain.
history.trends.items[].top_domains[].countnumber | nullIndexed citations.
history.trends.items[].datestring | nullSource reporting bucket date.
history.trends.items[].classified_count_unitstring | nullreported_polarity_assignments.
history.trends.items[].bucket_startstring | nullUTC calendar-aligned start used to detect gaps. Original source reporting date remains in date.
history.trends.date_groupstring | nullday, week or month.
history.trends.missing_bucketsarrayNested response fields; optional unless explicitly documented.
history.trends.expected_bucketsnumber | nullNumber of requested reporting buckets.
history.trends.coverageobjectNested response fields; optional unless explicitly documented.
history.trends.coverage.bucket_completeboolean | nullEvery requested bucket returned without rejected extras.
history.trends.coverage.comparable_source_rosterboolean | nullNull when source roster continuity is unknown.
history.trends.coverage.rejected_bucket_countnumber | nullMalformed, duplicate or excess buckets excluded.
history.examplesobject | nullNested response fields; optional unless explicitly documented.
history.examples.schema_versionstring | nullindexed-web-v1.
history.examples.querystring | nullKeyword expression.
history.examples.scopestring | nullindexed_web_citations, separate from native social samples.
history.examples.windowobjectNested response fields; optional unless explicitly documented.
history.examples.window.date_fromstring | nullInclusive UTC date start or null.
history.examples.window.date_tostring | nullInclusive UTC date end or null.
history.examples.window.date_basisstring | nullpublication_date for search/summary, source_reporting_date for trends.
history.examples.window.timezonestring | nullUTC.
history.examples.window.end_inclusiveboolean | nullTrue.
history.examples.window.verifiedboolean | nullTrue only when local publication filtering verified every returned record; aggregate source window enforcement is not established.
history.examples.provenanceobjectNested response fields; optional unless explicitly documented.
history.examples.provenance.collection_methodstring | nullindexed_web.
history.examples.provenance.observed_atstring | nullRequest observation time.
history.examples.provenance.history_available_fromstring | nullEarliest supported index history date; not a promise every keyword has data.
history.examples.provenance.coverage_completeboolean | nullFalse; an index is not a census.
history.examples.provenance.coverage_identitystring | nullNull where no immutable index identity is supplied.
history.examples.provenance.query_fingerprintstring | nullHash of query/filter measurement scope.
history.examples.filtersobjectNested response fields; optional unless explicitly documented.
history.examples.filters.languagestring | nullLanguage filter.
history.examples.filters.countrystring | nullPublisher country, not audience location.
history.examples.filters.page_typesarrayNested response fields; optional unless explicitly documented.
history.examples.filters.verifiedboolean | nullLocal record filter enforcement; aggregate filters are requested but not independently verified.
history.examples._warningsarrayNested response fields; optional unless explicitly documented.
history.examples.itemsarrayNested response fields; optional unless explicitly documented.
history.examples.items[].idstring | nullStable normalized citation id.
history.examples.items[].urlstring | nullOriginal URL.
history.examples.items[].titlestring | nullPage title.
history.examples.items[].textstring | nullSource snippet.
history.examples.items[].published_atstring | nullPublication date.
history.examples.items[].observed_atstring | nullSource fetch date.
history.examples.items[].sentimentobjectNested response fields; optional unless explicitly documented.
history.examples.items[].sentiment.probabilitiesobjectNested response fields; optional unless explicitly documented.
history.examples.items[].sentiment.probabilities.positivenumber | null0–1 source probability.
history.examples.items[].sentiment.probabilities.negativenumber | null0–1 source probability.
history.examples.items[].sentiment.probabilities.neutralnumber | null0–1 source probability.
history.examples.items[].source_group_datestring | nullSource grouped date; can refer to publication OR first crawler visit.
history.examples.items[].source_group_date_basisstring | nullSource meaning of group date. Never assume it is first-seen time.
history.examples.countnumber | nullReturned citation count.
history.examples.total_countnumber | nullSource match count, not necessarily retrievable in full.
history.examples.cursorstring | nullOffset continuation; null when no next page is supplied.
history.examples.has_moreboolean | nullSource continuation signal.
history.examples.discarded_outside_windownumber | nullSource results removed because dates were missing or outside the explicit publication window.
history.examples.total_count_scopestring | nullsource_reported_before_local_filtering; not the count after local date/language/country checks.
history.negative_share_slope_per_daynumber | nullOLS slope of reported negative-assignment fractions; per day, not negative count slope.
query_planobjectNested response fields; optional unless explicitly documented.
query_plan.versionstring | nullpanorama-context-query-v1.
query_plan.subjectstring | nullOriginal identity target.
query_plan.querystring | nullBounded expanded query template; actual source queries are listed in lanes.
query_plan.modestring | nullsubject, subject_with_context or mixed_subject_and_context.
query_plan.context_termsarrayNested response fields; optional unless explicitly documented.
query_plan.source_orderarrayNested response fields; optional unless explicitly documented.
query_plan.lanesarrayNested response fields; optional unless explicitly documented.
query_plan.lanes[].platformstring | nullSource platform.
query_plan.lanes[].querystring | nullExact native retrieval query for this lane.
query_plan.lanes[].modestring | nullsubject or subject_with_context.
query_plan.literal_sourcesarrayNested response fields; optional unless explicitly documented.
query_plan.context_sourcesarrayNested response fields; optional unless explicitly documented.
query_plan.max_requests_per_sourcenumber | nullOne bounded search per selected source.
query_plan.policystring | nullCaller context and retrieval limitations.
match_summaryobjectNested response fields; optional unless explicitly documented.
match_summary.statusstring | nullmatched, candidates_only, no_supported_match or empty_sample.
match_summary.collected_recordsnumber | nullAll retained records, including uncertain and unrelated evidence.
match_summary.supported_matchesnumber | nullCompleted Jev subject matches.
match_summary.supported_useful_matchesnumber | nullSupported subject matches with substantive useful evidence.
match_summary.lexical_candidatesnumber | nullAuthored keyword/context candidates; may be namesakes.
match_summary.unresolved_recordsnumber | nullEvidence without supported identity or literal candidacy.
match_summary.unrelated_recordsnumber | nullExplicit unrelated classifications.
match_summary.scopestring | nullreturned_sample.
match_summary.entity_verifiedboolean | nullFalse: model support is not independent identity verification.
match_summary.policystring | nullOriginal evidence remains available; no supported match does not establish absence from the web.
matched_itemsarrayNested response fields; optional unless explicitly documented.
matched_items[].idstring | nullNative record identifier; preserve exact case and value.
matched_items[].platformstring | nullPlatform id.
matched_items[].sourcestring | nullCollection lane.
matched_items[].titlestring | nullOriginal title.
matched_items[].textstring | nullOriginal text.
matched_items[].urlstring | nullOriginal link.
matched_items[].canonical_urlstring | nullDeduplication URL preserving source identity.
matched_items[].authorobjectNested response fields; optional unless explicitly documented.
matched_items[].author.idstring | nullAuthor id.
matched_items[].author.handlestring | nullPublic username.
matched_items[].author.namestring | nullDisplay name.
matched_items[].author.urlstring | nullAuthor link.
matched_items[].metricsobjectNested response fields; optional unless explicitly documented.
matched_items[].metrics.likesnumber | nullNative likes or null.
matched_items[].metrics.scorenumber | nullNative net score; can be negative.
matched_items[].metrics.commentsnumber | nullNative comments or replies.
matched_items[].metrics.resharesnumber | nullNative reposts/reshares.
matched_items[].metrics.viewsnumber | nullNative views; separate from interactions.
matched_items[].metrics.interactionsnumber | nullDocumented interaction total when available.
matched_items[].metrics.complete_interactionsboolean | nullAll inputs for the interaction total are known.
matched_items[].engagementnumber | nullObserved interaction sum; inspect metrics for original counters. This value is not a cross-platform ranking score.
matched_items[].created_atstring | nullPublication timestamp or null.
matched_items[].fetched_atstring | nullCollection timestamp.
matched_items[].date_statusstring | nullwithin_window, outside_window or undated.
matched_items[].relevanceobjectNested response fields; optional unless explicitly documented.
matched_items[].relevance.methodstring | nullliteral_subject_match or jev.
matched_items[].relevance.classificationstring | nullkeyword_match, subject_match, unrelated or needs_review. Lexical matching is not identity verification.
matched_items[].relevance.entity_verifiedboolean | nullFalse for keyword-only matching.
matched_items[].relevance.modelstring | nullModel identifier when classified.
matched_items[].relevance.versionstring | nullClassifier version.
matched_items[].relevance.statusstring | nullclassified or unavailable for optional Jev analysis.
matched_items[].relevance.reasonstring | nullReason analysis was unavailable.
matched_items[].relevance.identitystring | nullyes, no or uncertain.
matched_items[].relevance.identity_supportnumber | nullModel support0–1, not a calibrated correctness probability.
matched_items[].relevance.discussionstring | nullsubstantive, incidental, adjacent, unrelated or uncertain.
matched_items[].relevance.discussion_supportnumber | nullModel support0–1.
matched_items[].relevance.usefulnessstring | nullevidence, question, capability, passing or unclear.
matched_items[].relevance.usefulness_supportnumber | nullModel support0–1.
matched_items[].relevance.evidence_scopestring | nullreturned_title_and_text; attached context is separate reading evidence.
matched_items[].provenancearrayNested response fields; optional unless explicitly documented.
matched_items[].provenance[].platformstring | nullOriginal platform.
matched_items[].provenance[].endpointstring | nullOriginal endpoint.
matched_items[].provenance[].querystring | nullQuery used.
matched_items[].provenance[].paramsobjectNested response fields; optional unless explicitly documented.
matched_items[].context_evidenceobjectNested response fields; optional unless explicitly documented.
matched_items[].context_evidence.kindstring | nullcomments or transcripts.
matched_items[].context_evidence.statusstring | nullanswered, unavailable or invalid_response.
matched_items[].context_evidence.itemsarrayNested response fields; optional unless explicitly documented.
matched_items[].context_evidence.items[].idstring | nullOriginal comment identifier.
matched_items[].context_evidence.items[].textstring | nullReadable comment text; YouTube HTML formatting is converted to plain text.
matched_items[].context_evidence.items[].urlstring | nullOriginal comment URL.
matched_items[].context_evidence.items[].created_atstring | nullOriginal publication timestamp or null.
matched_items[].context_evidence.items[].date_statusstring | nullwithin_window or outside_window against the disclosed context window; undated without a publication timestamp; not_evaluated if no valid window was supplied.
matched_items[].context_evidence.windowobject | nullNested response fields; optional unless explicitly documented.
matched_items[].context_evidence.window.fromstring | nullExplicit parent query-window start.
matched_items[].context_evidence.window.tostring | nullExplicit parent query-window end.
matched_items[].context_evidence.excluded_parent_recordsnumber | nullX records excluded because native ID or canonical URL matched the parent post, not actual replies.
matched_items[].context_evidence.counted_as_mentionsboolean | nullFalse: contextual comments do not add mentions to the search sample.
matched_items[].context_evidence.sample_capnumber | nullAt most 10 returned comments per selected parent.
matched_items[].source_ranknumber | nullOne-based original source page position before non-content filtering and deduplication; null for legacy evidence or separately attached context.
candidate_itemsarrayNested response fields; optional unless explicitly documented.
candidate_items[].idstring | nullNative record identifier; preserve exact case and value.
candidate_items[].platformstring | nullPlatform id.
candidate_items[].sourcestring | nullCollection lane.
candidate_items[].titlestring | nullOriginal title.
candidate_items[].textstring | nullOriginal text.
candidate_items[].urlstring | nullOriginal link.
candidate_items[].canonical_urlstring | nullDeduplication URL preserving source identity.
candidate_items[].authorobjectNested response fields; optional unless explicitly documented.
candidate_items[].author.idstring | nullAuthor id.
candidate_items[].author.handlestring | nullPublic username.
candidate_items[].author.namestring | nullDisplay name.
candidate_items[].author.urlstring | nullAuthor link.
candidate_items[].metricsobjectNested response fields; optional unless explicitly documented.
candidate_items[].metrics.likesnumber | nullNative likes or null.
candidate_items[].metrics.scorenumber | nullNative net score; can be negative.
candidate_items[].metrics.commentsnumber | nullNative comments or replies.
candidate_items[].metrics.resharesnumber | nullNative reposts/reshares.
candidate_items[].metrics.viewsnumber | nullNative views; separate from interactions.
candidate_items[].metrics.interactionsnumber | nullDocumented interaction total when available.
candidate_items[].metrics.complete_interactionsboolean | nullAll inputs for the interaction total are known.
candidate_items[].engagementnumber | nullObserved interaction sum; inspect metrics for original counters. This value is not a cross-platform ranking score.
candidate_items[].created_atstring | nullPublication timestamp or null.
candidate_items[].fetched_atstring | nullCollection timestamp.
candidate_items[].date_statusstring | nullwithin_window, outside_window or undated.
candidate_items[].relevanceobjectNested response fields; optional unless explicitly documented.
candidate_items[].relevance.methodstring | nullliteral_subject_match or jev.
candidate_items[].relevance.classificationstring | nullkeyword_match, subject_match, unrelated or needs_review. Lexical matching is not identity verification.
candidate_items[].relevance.entity_verifiedboolean | nullFalse for keyword-only matching.
candidate_items[].relevance.modelstring | nullModel identifier when classified.
candidate_items[].relevance.versionstring | nullClassifier version.
candidate_items[].relevance.statusstring | nullclassified or unavailable for optional Jev analysis.
candidate_items[].relevance.reasonstring | nullReason analysis was unavailable.
candidate_items[].relevance.identitystring | nullyes, no or uncertain.
candidate_items[].relevance.identity_supportnumber | nullModel support0–1, not a calibrated correctness probability.
candidate_items[].relevance.discussionstring | nullsubstantive, incidental, adjacent, unrelated or uncertain.
candidate_items[].relevance.discussion_supportnumber | nullModel support0–1.
candidate_items[].relevance.usefulnessstring | nullevidence, question, capability, passing or unclear.
candidate_items[].relevance.usefulness_supportnumber | nullModel support0–1.
candidate_items[].relevance.evidence_scopestring | nullreturned_title_and_text; attached context is separate reading evidence.
candidate_items[].provenancearrayNested response fields; optional unless explicitly documented.
candidate_items[].provenance[].platformstring | nullOriginal platform.
candidate_items[].provenance[].endpointstring | nullOriginal endpoint.
candidate_items[].provenance[].querystring | nullQuery used.
candidate_items[].provenance[].paramsobjectNested response fields; optional unless explicitly documented.
candidate_items[].context_evidenceobjectNested response fields; optional unless explicitly documented.
candidate_items[].context_evidence.kindstring | nullcomments or transcripts.
candidate_items[].context_evidence.statusstring | nullanswered, unavailable or invalid_response.
candidate_items[].context_evidence.itemsarrayNested response fields; optional unless explicitly documented.
candidate_items[].context_evidence.items[].idstring | nullOriginal comment identifier.
candidate_items[].context_evidence.items[].textstring | nullReadable comment text; YouTube HTML formatting is converted to plain text.
candidate_items[].context_evidence.items[].urlstring | nullOriginal comment URL.
candidate_items[].context_evidence.items[].created_atstring | nullOriginal publication timestamp or null.
candidate_items[].context_evidence.items[].date_statusstring | nullwithin_window or outside_window against the disclosed context window; undated without a publication timestamp; not_evaluated if no valid window was supplied.
candidate_items[].context_evidence.windowobject | nullNested response fields; optional unless explicitly documented.
candidate_items[].context_evidence.window.fromstring | nullExplicit parent query-window start.
candidate_items[].context_evidence.window.tostring | nullExplicit parent query-window end.
candidate_items[].context_evidence.excluded_parent_recordsnumber | nullX records excluded because native ID or canonical URL matched the parent post, not actual replies.
candidate_items[].context_evidence.counted_as_mentionsboolean | nullFalse: contextual comments do not add mentions to the search sample.
candidate_items[].context_evidence.sample_capnumber | nullAt most 10 returned comments per selected parent.
candidate_items[].source_ranknumber | nullOne-based original source page position before non-content filtering and deduplication; null for legacy evidence or separately attached context.

Counts describe the bounded returned social sample. Native keyword and hashtag coverage differ by platform.

strict dates exclude undated and outside-window records. ranked mode retains their labels. Literal keyword matching does not verify an entity.

Evidence is ordered by relevance tier and balanced across sources within each tier, preserving source page rank. Context supplies a bounded search hint from the caller’s words and lexical priority cues. Inspect query_plan and per-source queries; added terms can narrow retrieval and do not verify identity. Ordering and optional labels do not change sample counts or share denominators.

Use match_summary to distinguish supported matches, lexical candidates and no supported match. matched_items and candidate_items are views into the retained pool, not additional mentions. A complete relevance_analysis covers selected candidates only; remaining_unclassified includes both unselected and failed records.

Failures use the typed error envelope. A confirmed uncharged or refunded failure reports zero; a pending reconciliation can report an unknown charge. Read credits_used and error.details.billing_status, and keep request_id for recovery. Response contract · Error reference

First call in under a minute

1,000 monthly free credits and a ready-made key the moment you sign up. No card.