{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://www.monocrawl.com/schemas/content_analysis/indexed-phrase-trends.json","title":"content_analysis/indexed-phrase-trends data fields","description":"Required core structure for successful data, with optional source fields. Additional fields are allowed. This is not a completeness guarantee.","type":"object","properties":{"schema_version":{"type":["string","null"],"description":"indexed-web-v1."},"query":{"type":["string","null"],"description":"Keyword expression."},"scope":{"type":["string","null"],"description":"indexed_web_citations, separate from native social samples."},"window":{"type":"object","properties":{"date_from":{"type":["string","null"],"description":"Inclusive UTC date start or null."},"date_to":{"type":["string","null"],"description":"Inclusive UTC date end or null."},"date_basis":{"type":["string","null"],"description":"publication_date for search/summary, source_reporting_date for trends."},"timezone":{"type":["string","null"],"description":"UTC."},"end_inclusive":{"type":["boolean","null"],"description":"True."},"verified":{"type":["boolean","null"],"description":"True only when local publication filtering verified every returned record; aggregate source window enforcement is not established."}},"additionalProperties":true},"provenance":{"type":"object","properties":{"collection_method":{"type":["string","null"],"description":"indexed_web."},"observed_at":{"type":["string","null"],"description":"Request observation time."},"history_available_from":{"type":["string","null"],"description":"Earliest supported index history date; not a promise every keyword has data."},"coverage_complete":{"type":["boolean","null"],"description":"False; an index is not a census."},"coverage_identity":{"type":["string","null"],"description":"Null where no immutable index identity is supplied."},"query_fingerprint":{"type":["string","null"],"description":"Hash of query/filter measurement scope."}},"additionalProperties":true},"filters":{"type":"object","properties":{"language":{"type":["string","null"],"description":"Language filter."},"country":{"type":["string","null"],"description":"Publisher country, not audience location."},"page_types":{"type":"array","items":{"type":"string"}},"verified":{"type":["boolean","null"],"description":"Local record filter enforcement; aggregate filters are requested but not independently verified."}},"additionalProperties":true},"_warnings":{"type":"array","items":{"type":"string"}},"items":{"type":"array","items":{"type":"object","properties":{"total_count":{"type":["number","null"],"description":"Indexed citation count; null means unavailable."},"count_unit":{"type":["string","null"],"description":"indexed_citations."},"connotation_types":{"type":"object","properties":{"positive":{"type":["number","null"],"description":"Reported positive polarity assignments; categories need not partition unique citations."},"negative":{"type":["number","null"],"description":"Reported negative polarity assignments; categories need not partition unique citations."},"neutral":{"type":["number","null"],"description":"Reported neutral polarity assignments; categories need not partition unique citations."}},"additionalProperties":true},"classified_count":{"type":["number","null"],"description":"Sum of reported positive, negative and neutral assignments. The source may assign overlapping categories; not a verified unique-citation total."},"negative_share":{"type":["number","null"],"description":"Negative reported assignments divided by all positive+negative+neutral assignments, a fraction0–1. Not the share of unique citations that are negative."},"negative_share_unit":{"type":["string","null"],"description":"fraction."},"negative_share_denominator":{"type":["string","null"],"description":"positive + negative + neutral reported polarity assignments; not a verified partition of unique citations."},"sentiment_method":{"type":"object","properties":{"id":{"type":["string","null"],"description":"indexed-source-polarity-v1."},"kind":{"type":["string","null"],"description":"upstream_classification."},"unit":{"type":["string","null"],"description":"citation_count."},"confidence":{"type":["number","null"],"description":"Null when undisclosed."},"language_coverage":{"type":["string","null"],"description":"source_defined."}},"additionalProperties":true},"top_domains":{"type":"array","items":{"type":"object","properties":{"domain":{"type":["string","null"],"description":"Domain."},"count":{"type":["number","null"],"description":"Indexed citations."}},"additionalProperties":true}},"date":{"type":["string","null"],"description":"Source reporting bucket date."},"classified_count_unit":{"type":["string","null"],"description":"reported_polarity_assignments."},"bucket_start":{"type":["string","null"],"description":"UTC calendar-aligned start used to detect gaps. Original source reporting date remains in date."}},"additionalProperties":true,"allOf":[{"anyOf":[{"required":["total_count"],"properties":{"total_count":{"type":["number"],"description":"Indexed citation count; null means unavailable."}}},{"required":["count_unit"],"properties":{"count_unit":{"type":["string"],"description":"indexed_citations.","minLength":1}}},{"required":["connotation_types"],"properties":{"connotation_types":{"type":"object","properties":{"positive":{"type":["number","null"],"description":"Reported positive polarity assignments; categories need not partition unique citations."},"negative":{"type":["number","null"],"description":"Reported negative polarity assignments; categories need not partition unique citations."},"neutral":{"type":["number","null"],"description":"Reported neutral polarity assignments; categories need not partition unique citations."}},"additionalProperties":true}}},{"required":["classified_count"],"properties":{"classified_count":{"type":["number"],"description":"Sum of reported positive, negative and neutral assignments. The source may assign overlapping categories; not a verified unique-citation total."}}},{"required":["negative_share"],"properties":{"negative_share":{"type":["number"],"description":"Negative reported assignments divided by all positive+negative+neutral assignments, a fraction0–1. Not the share of unique citations that are negative."}}},{"required":["negative_share_unit"],"properties":{"negative_share_unit":{"type":["string"],"description":"fraction.","minLength":1}}},{"required":["negative_share_denominator"],"properties":{"negative_share_denominator":{"type":["string"],"description":"positive + negative + neutral reported polarity assignments; not a verified partition of unique citations.","minLength":1}}},{"required":["sentiment_method"],"properties":{"sentiment_method":{"type":"object","properties":{"id":{"type":["string","null"],"description":"indexed-source-polarity-v1."},"kind":{"type":["string","null"],"description":"upstream_classification."},"unit":{"type":["string","null"],"description":"citation_count."},"confidence":{"type":["number","null"],"description":"Null when undisclosed."},"language_coverage":{"type":["string","null"],"description":"source_defined."}},"additionalProperties":true}}},{"required":["top_domains"],"properties":{"top_domains":{"type":"array","items":{"type":"object","properties":{"domain":{"type":["string","null"],"description":"Domain."},"count":{"type":["number","null"],"description":"Indexed citations."}},"additionalProperties":true}}}},{"required":["date"],"properties":{"date":{"type":["string"],"description":"Source reporting bucket date.","minLength":1}}},{"required":["classified_count_unit"],"properties":{"classified_count_unit":{"type":["string"],"description":"reported_polarity_assignments.","minLength":1}}},{"required":["bucket_start"],"properties":{"bucket_start":{"type":["string"],"description":"UTC calendar-aligned start used to detect gaps. Original source reporting date remains in date.","minLength":1}}}]}]}},"date_group":{"type":["string","null"],"description":"day, week or month."},"missing_buckets":{"type":"array","items":{"type":"string"}},"expected_buckets":{"type":["number","null"],"description":"Number of requested reporting buckets."},"coverage":{"type":"object","properties":{"bucket_complete":{"type":["boolean","null"],"description":"Every requested bucket returned without rejected extras."},"comparable_source_roster":{"type":["boolean","null"],"description":"Null when source roster continuity is unknown."},"rejected_bucket_count":{"type":["number","null"],"description":"Malformed, duplicate or excess buckets excluded."}},"additionalProperties":true}},"additionalProperties":true,"required":["items"],"x-contract-version":"2026-09-22","x-validation-scope":"Required success payload structure; optional fields and source completeness remain separate.","examples":[{"schema_version":"indexed-web-v1","query":"My Brand","scope":"indexed_web_citations","items":[],"date_group":"day","missing_buckets":[]}]}