Skip to main content
GET
/
v1
/
suggest
Cross-Entity Suggest
curl --request GET \
  --url https://api.example.com/v1/suggest
{
  "object": "list",
  "data": [
    { "id": "tm_abc123", "type": "trademark", "label": "NIKE", "subtitle": "uspto", "score": 0.98 },
    { "id": "own_NikeIp", "type": "owner", "label": "Nike, Inc.", "subtitle": "US", "score": 0.95 },
    { "id": "firm_2kLm9X", "type": "firm", "label": "Nixon Peabody LLP", "subtitle": "US", "score": 0.41 }
  ],
  "has_more": false,
  "pagination": { "cursor": null },
  "livemode": true,
  "request_id": "req_xyz"
}

Overview

Returns mixed typeahead suggestions across trademarks, owners, attorneys, and firms in a single call. Backed by pg_trgm similarity. Use this to power universal search bars where the user might be typing a mark, an owner, or counsel. For trademark-only typeahead with mark-specific behavior (Vienna codes, Nice classes), prefer /v1/trademarks/suggest.

Query Parameters

q
string
required
Search query (3-200 characters).
type
string
Restrict to one entity type. One of trademark, owner, attorney, firm. Omit to mix all four.
limit
integer
default:"10"
Maximum suggestions to return (1-50).

Response

data
object[]
Array of suggestion records, ranked by similarity.
data[].id
string
Public ID. Prefix indicates the entity type (tm_, own_, att_, firm_).
data[].type
string
Entity type (trademark, owner, attorney, firm).
data[].label
string
Display label (mark text or canonical name).
data[].subtitle
string
Secondary line for the UI (e.g. office for trademarks, country for owners).
data[].score
number
Similarity score (0-1).
{
  "object": "list",
  "data": [
    { "id": "tm_abc123", "type": "trademark", "label": "NIKE", "subtitle": "uspto", "score": 0.98 },
    { "id": "own_NikeIp", "type": "owner", "label": "Nike, Inc.", "subtitle": "US", "score": 0.95 },
    { "id": "firm_2kLm9X", "type": "firm", "label": "Nixon Peabody LLP", "subtitle": "US", "score": 0.41 }
  ],
  "has_more": false,
  "pagination": { "cursor": null },
  "livemode": true,
  "request_id": "req_xyz"
}

Code Examples

curl -G "https://api.signa.so/v1/suggest" \
  -H "Authorization: Bearer sig_live_YOUR_KEY_HERE" \
  --data-urlencode "q=nike" \
  --data-urlencode "limit=10"

Errors

StatusTypeDescription
400validation_errorq shorter than 3 characters or invalid type
401unauthorizedMissing or invalid API key
403forbiddenAPI key lacks search:read
429rate_limitedToo many requests