Skip to main content
GET
/
v1
/
firms
/
{id}
Get Firm
curl --request GET \
  --url https://api.signa.so/v1/firms/{id} \
  --header 'Authorization: Bearer <token>'
{
  "id": "firm_abc123",
  "object": "firm",
  "name": "Smith & Partners LLP",
  "canonical_name": "SMITH AND PARTNERS LLP",
  "country_code": "US",
  "aliases": [
    { "name": "Smith Partners", "type": "office_reported", "source_office": "uspto" }
  ],
  "attorney_count": 23,
  "trademark_count": 4521,
  "registration_rate": 0.86,
  "latest_filing": "2026-04-02",
  "created_at": "2023-01-11T08:00:00Z",
  "updated_at": "2026-04-08T14:23:11Z",
  "stats": {
    "trademark_count": 4521,
    "registered_count": 3890,
    "pending_count": 412,
    "abandoned_count": 219,
    "registration_rate": 0.86
  },
  "request_id": "req_xyz789"
}

Overview

Returns the detail tier for a single law firm: name, canonical name, country, aliases, attorney count, trademark count, registration rate, and latest filing date. Optional ?include= relations let you embed practice statistics, jurisdiction breakdown, specialization signal, multi-year trends, and the firm’s attorneys. If the firm record was merged into another (entity resolution), the endpoint returns 410 entity_merged with the new ID in the error body.

Path Parameters

id
string
required
Firm ID prefixed with firm_ (e.g. firm_abc123).

Query Parameters

include
string
Comma-separated relations to embed. Valid values:
  • stats: aggregate practice statistics
  • specializations: top Nice classes and goods/services categories
  • jurisdictions: per-jurisdiction filing breakdown
  • trend: yearly filing volume trend
  • attorneys: first page of attorneys at the firm with attorneys_has_more

Response

id
string
Firm ID prefixed with firm_.
object
string
Always firm.
name
string
Display name of the firm.
canonical_name
string
Normalized name used for entity resolution and deduplication.
country_code
string | null
ISO 3166-1 alpha-2 country code.
aliases
object[]
attorney_count
integer
Total attorneys linked to this firm.
trademark_count
integer
Total trademarks where this firm appears as representative.
registration_rate
number | null
Share of marks that reached registration.
latest_filing
string | null
Latest filing date observed for this firm.
created_at
string
ISO 8601 creation timestamp.
updated_at
string
ISO 8601 last update timestamp.
stats
object
Returned when ?include=stats.
specializations
object
Returned when ?include=specializations.
jurisdictions
object[]
Returned when ?include=jurisdictions.
trend
object[]
Returned when ?include=trend.
attorneys
object[]
Returned when ?include=attorneys. Paired with attorneys_has_more.
request_id
string
Unique request identifier for support and debugging.
{
  "id": "firm_abc123",
  "object": "firm",
  "name": "Smith & Partners LLP",
  "canonical_name": "SMITH AND PARTNERS LLP",
  "country_code": "US",
  "aliases": [
    { "name": "Smith Partners", "type": "office_reported", "source_office": "uspto" }
  ],
  "attorney_count": 23,
  "trademark_count": 4521,
  "registration_rate": 0.86,
  "latest_filing": "2026-04-02",
  "created_at": "2023-01-11T08:00:00Z",
  "updated_at": "2026-04-08T14:23:11Z",
  "stats": {
    "trademark_count": 4521,
    "registered_count": 3890,
    "pending_count": 412,
    "abandoned_count": 219,
    "registration_rate": 0.86
  },
  "request_id": "req_xyz789"
}

Code Examples

curl -G "https://api.signa.so/v1/firms/firm_abc123" \
  -H "Authorization: Bearer sig_YOUR_KEY_HERE" \
  --data-urlencode "include=stats,trend"

Errors

StatusTypeDescription
400validation_errorInvalid id format or unknown include value
401unauthorizedMissing or invalid API key
403forbiddenAPI key lacks the trademarks:read scope
404not_foundFirm ID does not exist
410entity_mergedFirm was merged into another entity. The new ID is returned in the error detail.
429rate_limitedRate limit exceeded