Skip to content
Last updated

Intent signals tell you what a known company is actively researching right now. The HG API returns two complementary types of intent data from a single endpoint: HG Contextual Intent (topic-based signals derived from web content consumption) and TrustRadius buyer activities (first-party behavioral signals from the TrustRadius review platform).


Two Types of Intent

HG Contextual Intent (Topics)

HG processes nearly 2 billion intent records per week, monitoring web content consumption across 4,000+ B2B technology topics. When a company's employees repeatedly consume content about a topic — product reviews, comparison pages, how-to guides — HG registers a topic intent signal and contextualizes it against that company's known tech stack.

What makes HG topic intent distinct: the signal isn't just "researching Zero Trust" — it's "researching Zero Trust while already running a competing product," which changes the interpretation entirely. That context is surfaced via context_type_names.

Each topic signal includes:

  • **name** — the topic being researched (e.g., "Zero Trust Architecture", "Cloud Security Posture Management")
  • **score** — signal strength, 0–100
  • **signal_level**HIGH (score > 84) or MEDIUM (score 60–84) based on volume, recency, and trajectory
  • **trend** — direction of signal change; positive = increasing activity
  • **buyers_journey_name**Researching (early-stage, exploring options) or Evaluating (actively comparing solutions)
  • **context_type_names** — what kind of purchase this signal suggests (see Context Types)
  • **context_dispositions** — sentiment of the signal (e.g., POSITIVE)
  • **last_seen_at** — most recent date a signal was observed
  • **product_names** / **vendor_names** — products and vendors associated with the signal
  • **location_strength** — geographic concentration of the signal (0–100)
  • **source** — always hg for topic signals

TrustRadius Buyer Activities

TrustRadius captures first-party behavioral data from real buyers on their product review platform. When someone from a company views a product page, reads reviews, or compares solutions on TrustRadius, it registers as a buyer activity. These are mid-to-bottom-of-funnel signals: the buyer has moved past awareness and is actively evaluating specific products.

Each activity includes:

  • **activity_type** — what the buyer did (e.g., "view", "compare")
  • **activity_label** — human-readable description (e.g., "Product Details", "Competitors", "Review")
  • **activity_date** — when it happened
  • **daily_views** — how many times that day
  • **intent_signal_url** — direct link to the TrustRadius page that triggered the signal
  • **products** / **vendors** — what was being researched
  • **city_name** / **state_name** / **country_name** — approximate visitor location

When to use each: TrustRadius activities are bottom-of-funnel — someone is actively in the product. HG topics are broader and earlier-stage across the full web. A company showing both in the same category is a high-confidence, high-urgency signal.


Account-Level Use Cases

Validate buying stage for a pipeline account

Call /intent/enrich scoped to your category's topic_ids. If buyers_journey_name is Evaluating + signal_level is HIGH, the account is actively comparing solutions — highest urgency tier.

Check competitive displacement exposure

Filter context_type_names: ["Displacement"] with a competitor's vendor_ids. If signals are present, the account is researching a replacement and timing is right for outreach. If no signals, note it and re-check next cycle.

Combine both sources for confidence

If an account shows HG topic signals AND TrustRadius activities in the same category, treat it as a high-confidence in-market signal. Neither source alone is as strong as both together.

Cost-efficient scanning across a large account list

Use fields: ["summary"] for a fast, free sweep across your full account list — no credits consumed. Identify which accounts have high_signal_topics_count > 0 or recent latest_signal_date, then drill into topics and activities only for accounts that clear your threshold.

Endpoint

POST /data-api/v2/intent/enrich

Returns intent signals for a single known company. Identify the company by domain or HG id. This is an enrichment endpoint — you already know which company you want; you're fetching the depth of their intent signals.

Looking to discover companies by intent? Use POST /data-api/v2/companies/search with filters.intent to find companies matching specific intent criteria across your addressable market. See Finding Companies by Intent.


Estimate Credit Cost First

Intent data is credit-priced. Before calling /intent/enrich, use the estimate endpoint with the same request body to see the cost — no credits consumed, no data returned.

POST /data-api/v2/intent/enrich/estimate

Response includes credits_estimate, available_credits, sufficient_credits, and a per-section breakdown (topics vs activities). If sufficient_credits is false, narrow your request — filter to specific topic_ids or drop activities from fields.


Response Sections

Three sections, all returned by default. Use the fields array to request only what you need.

SectionContainsCredit cost
summaryAggregate counts: active topics, high-signal topics, latest signal date, source breakdown, top context typesFree — 0 credits
topicsHG Contextual Intent topic signals (paginated)Charged per record
activitiesTrustRadius buyer activity signals (paginated)Charged per record

Filters

Filters are scoped by section. The API enforces strict nesting — putting a filter in the wrong level returns a 422.

Global filters (top-level under filters)

FilterTypeDescription
filters.signal_date.min / .maxdate stringNarrow signals to a date range
filters.vendor_idsinteger[]Only signals related to these vendor IDs
filters.product_idsinteger[]Only signals related to these product IDs

Topics-only filters (filters.topics)

FilterValuesDescription
signal_level"HIGH", "MEDIUM"Filter by signal strength
buyers_journey_names"Researching", "Evaluating"Filter by buying stage
context_type_names"Displacement", "Whitespace", "Expansion", "Complementary"Filter by purchase context
topic_idshex string[]Scope to specific topic IDs — always use this in production (see note below)

Activities-only filters (filters.activities)

FilterTypeDescription
product_category_idshex string[]Filter TrustRadius activities by product category

Always filter by topic_ids in production. The catalog has 4,000+ topics. Without this filter, the response includes every topic the company has ever shown activity on — often hundreds of thousands of records and significant credit cost. Use GET /data-api/v2/catalog/intent_topics?name=<keyword> to find the IDs for your category first, then pass them here.


Context Types

Context types are HG's proprietary interpretation of what a topic signal means — derived by cross-referencing the intent signal against the company's known tech stack. Available on HG topic signals only.

Context TypeWhat it means
DisplacementCompany researching a product where HG detects a competing product already installed. Actively shopping for a replacement — highest urgency.
WhitespaceCompany researching a product in a category where no install is detected. Net-new capability purchase likely; may need more education.
ExpansionCompany researching a product from a vendor they already use. Likely expanding footprint within an existing relationship.
ComplementaryCompany researching tools that work alongside their existing stack. Cross-sell signal.

limit (default: 50, max: 200) and offset are request-level parameters — they apply uniformly to both topics and activities sections.


Example: Is this account in-market for my category?

Before a sales call or before triggering an outreach sequence, check whether the account is actively researching topics in your category. Scope the request to your relevant topic IDs to control cost and get a clean signal. Get topic IDs from GET /data-api/v2/catalog/intent_topics?name=zero+trust first.

"Is HPE in-market for Zero Trust?"

curl -X POST https://api.hginsights.com/data-api/v2/intent/enrich \
  -H "Authorization: Bearer $HG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "company": { "domain": "hpe.com" },
    "fields": ["summary", "topics"],
    "filters": {
      "topics": {
        "topic_ids": [
          "C66928848C2664D99CBCABFE12D4871",
          "2542E6789B273C51BE81F0000A669969",
          "248F517588E2D6CC33535D3CA7802222"
        ],
        "signal_level": ["HIGH", "MEDIUM"]
      }
    },
    "limit": 10
  }'
{
  "company": {
    "id": "...",
    "name": "HEWLETT PACKARD ENTERPRISE COMPANY",
    "domain": "hpe.com"
  },
  "summary": {
    "active_topics_count": 617904,
    "high_signal_topics_count": 154571,
    "latest_signal_date": "2026-05-30",
    "sources": { "hg": 617904, "trustradius": 498 },
    "top_context_types": {
      "Displacement": 2233,
      "Expansion": 13900,
      "Complementary": 11386
    }
  },
  "topics": {
    "count": 17,
    "data": [
      {
        "id": "C66928848C2664D99CBCABFE12D4871",
        "name": "Zero Trust Architecture",
        "score": 92,
        "signal_level": "HIGH",
        "trend": 0.0,
        "buyers_journey_name": "Researching",
        "context_type_names": [],
        "last_seen_at": "2026-05-16",
        "state_name": "TX",
        "country_name": "United States of America (the)",
        "region_name": "AMER",
        "location_strength": 47,
        "vendor_names": [],
        "product_names": [],
        "source": "hg"
      }
    ]
  }
}

summary.active_topics_count reflects the company's total intent profile across all topics — not just your filter. Use topics.count (17) to see how many matched.


Example: Is this account researching products in my category on TrustRadius?

TrustRadius activities reveal bottom-of-funnel behavior: a real buyer at the company is on the platform, reading competitor reviews or comparing products in a category. Scope to a specific product category using filters.activities.product_category_ids — get category IDs from GET /data-api/v2/catalog/product_categories?name=<category>.

The Data Security category ID (5416985E784F2637FF24841C8E141D5) was retrieved from GET /data-api/v2/catalog/product_categories?name=data+security.

curl -X POST https://api.hginsights.com/data-api/v2/intent/enrich \
  -H "Authorization: Bearer $HG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "company": { "domain": "hpe.com" },
    "fields": ["activities"],
    "filters": {
      "signal_date": { "min": "2026-01-01" },
      "activities": {
        "product_category_ids": ["5416985E784F2637FF24841C8E141D5"]
      }
    },
    "limit": 3
  }'
{
  "company": {
    "id": "17A5AD9E58706F10B0AE715432DC533E",
    "name": "HEWLETT PACKARD ENTERPRISE COMPANY",
    "domain": "hpe.com"
  },
  "activities": {
    "count": 2,
    "data": [
      {
        "activity_type": "view",
        "activity_label": "Competitors",
        "activity_date": "2026-05-30",
        "daily_views": 1,
        "intent_signal_url": "https://www.trustradius.com/products/seclore/competitors",
        "products": ["Seclore"],
        "vendors": ["Seclore Technology Pvt Ltd"],
        "city_name": "Spring",
        "state_name": "TX",
        "country_name": "United States of America (the)"
      },
      {
        "activity_type": "view",
        "activity_label": "Product Details",
        "activity_date": "2026-05-30",
        "daily_views": 1,
        "intent_signal_url": "https://www.trustradius.com/products/bitlocker-drive-encryption/reviews#1",
        "products": ["BitLocker Drive Encryption"],
        "vendors": ["Microsoft Corporation"],
        "city_name": "Spring",
        "state_name": "TX",
        "country_name": "United States of America (the)"
      }
    ]
  }
}

count: 2 — HPE had 2 Data Security activity records since January. activity_label: "Competitors" on Seclore means the buyer viewed the competitor comparison page — actively evaluating alternatives in the category. activity_label: "Product Details" on BitLocker means they reviewed that product's feature page. intent_signal_url links directly to the TrustRadius page that triggered each signal.


Example: Displacement intent against a competitor

Filter by context_type_names: ["Displacement"] with a competitor's vendor_id to check whether an account is actively researching a replacement for that vendor's products. Get vendor IDs from GET /data-api/v2/catalog/vendors?name=<vendor>.

curl -X POST https://api.hginsights.com/data-api/v2/intent/enrich \
  -H "Authorization: Bearer $HG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "company": { "domain": "hpe.com" },
    "fields": ["topics"],
    "filters": {
      "vendor_ids": [3011],
      "topics": {
        "signal_level": ["HIGH"],
        "context_type_names": ["Displacement"]
      }
    },
    "limit": 5
  }'

No topics returned → the account isn't showing active displacement intent for that vendor right now. No signal is also a signal.


Catalog Endpoints

Use these to discover valid IDs for filters:

What you needEndpoint
Intent topic IDsGET /data-api/v2/catalog/intent_topics?name=<keyword>
Buyers journey valuesGET /data-api/v2/catalog/intent_buyers_journey
Context type valuesGET /data-api/v2/catalog/intent_context_types
Vendor IDsGET /data-api/v2/catalog/vendors?name=<vendor>
Product IDsGET /data-api/v2/catalog/products?name=<product>

Finding Companies by Intent

Use POST /data-api/v2/companies/search with filters.intent to find companies that have active intent signals matching your criteria.

This is the inverse of /intent/enrich: instead of "give me intent data for this company", you're asking "give me companies that have this intent."

Two common patterns:

Search by HG topic — find companies researching a specific topic:

curl -X POST https://api.hginsights.com/data-api/v2/companies/search \
  -H "Authorization: Bearer $HG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "filters": {
      "intent": {
        "topics": {
          "ids": ["19861D3AC60455102792F87A33AF533F"],
          "inclusion_method": "ANY_PRESENT"
        },
        "signal_score": "HIGH"
      }
    }
  }'

Use GET /data-api/v2/catalog/intent_topics?name=<keyword> to look up topic IDs.

Search by context type — find companies showing displacement or whitespace intent at a specific signal strength:

curl -X POST https://api.hginsights.com/data-api/v2/companies/search \
  -H "Authorization: Bearer $HG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "filters": {
      "intent": {
        "context_type_ids": {
          "ids": ["DEF456789012345678901234ABCDEF12"],
          "inclusion_method": "ANY_PRESENT"
        },
        "signal_score": "HIGH"
      }
    }
  }'

Use GET /data-api/v2/catalog/intent_context_types to look up context type IDs.

FilterTypeDescription
topicsobjectFilter by intent topic IDs (ids + inclusion_method)
signal_scoreMEDIUM or HIGHMinimum signal score. MEDIUM = 65–84, HIGH = 85–100
context_type_idsobjectFilter by context type IDs (ids + inclusion_method)
buyers_journey_idsobjectFilter by buyers journey stage IDs
locationobjectFilter by signal origin — country_alpha2s, state_ids, or region_names
number_of_cadencesintegerMinimum number of signal cadences (repeat activity cycles)

Note: The search endpoint's intent filter supports HG topic signals only right now. To filter by TrustRadius product activity (page views, comparisons), first find your target companies via search, then call POST /data-api/v2/intent/enrich on each company with fields: ["activities"].