Search API
Hunter's Search API exposes entity search, fuzzy matching, enrichment, relationship queries, entity monitoring, and webhooks through a single authenticated REST interface. JSON in, JSON out.
Read the docs →Endpoints
All endpoints are authenticated via API key. Requests and responses use JSON. Rate limits and usage are reported in response headers.
/api/searchSearch for entities by name, identifier, or attribute across the full Hunter data layer. Returns ranked results with confidence scores.
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Name, identifier, or attribute to search. |
| entity_type | string | No | Filter by entity type: person, organization, vessel, aircraft. |
| datasets | string[] | No | Restrict search to specific datasets. |
| limit | integer | No | Maximum results to return. Default: 20, max: 100. |
/api/search/fuzzyTolerant name matching using NamesPlus expansion, Jaro-Winkler distance, and bag-of-words scoring. Designed for messy real-world data.
| Parameter | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Name or identifier to match against. |
| threshold | float | No | Minimum confidence score (0–1). Default: 0.7. |
| expand_names | boolean | No | Apply NamesPlus expansion. Default: true. |
| datasets | string[] | No | Restrict matching to specific datasets. |
/api/entities/:id/enrichRetrieve full enrichment data for a resolved entity — identifiers, aliases, addresses, relationships, risk signals, and source lineage.
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Hunter entity identifier. |
| include | string[] | No | Fields to include: identifiers, aliases, addresses, relationships, risk. |
/api/relationships/queryQuery the relationship graph for connections between entities. Supports depth-limited traversal, relationship type filtering, and confidence thresholds.
| Parameter | Type | Required | Description |
|---|---|---|---|
| entity_id | string | Yes | Starting entity for the relationship query. |
| depth | integer | No | Maximum traversal depth. Default: 2, max: 4. |
| rel_types | string[] | No | Filter by relationship type: ownership, control, family, associate. |
| min_confidence | float | No | Minimum edge confidence score. Default: 0.6. |
/api/monitorRegister entities for continuous monitoring. Hunter checks for changes across all data sources and delivers updates via webhook or polling.
| Parameter | Type | Required | Description |
|---|---|---|---|
| entity_ids | string[] | Yes | Hunter entity identifiers to monitor. |
| webhook_url | string | No | Endpoint to receive change notifications. |
| events | string[] | No | Event types: sanctions_change, pep_change, adverse_media, relationship_change. |
/api/webhooksRegister and manage webhook endpoints for real-time event delivery. Supports retry logic, signature verification, and event filtering.
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | HTTPS endpoint to receive events. |
| events | string[] | Yes | Event types to subscribe to. |
| secret | string | No | HMAC signing secret for payload verification. |
Response format
Every response includes entity identifiers, confidence scores, risk signals, source lineage, and a query identifier for audit trails.
{
"results": [
{
"entity_id": "hnt_7f3a9c2e",
"entity_type": "person",
"name": "John A. Smith",
"confidence": 0.94,
"datasets": ["sanctions_ofac", "pep_global"],
"risk_signals": ["sanctions_match", "pep_tier_1"],
"aliases": ["Jon Smith", "J. Smith"],
"last_updated": "2026-06-20T14:32:00Z"
}
],
"total": 1,
"query_id": "qry_a1b2c3d4",
"latency_ms": 42
}