Skip to main content
The @signa-so/sdk package provides a typed, ergonomic client for the Signa API.

Features

  • Full TypeScript types for all endpoints and responses
  • Automatic pagination with async iterators, manual paging, or toArray()
  • Built-in retry with exponential backoff (429, 5xx, network errors)
  • Typed error classes for every HTTP status code
  • Tree-shakeable ESM module

Quick Example

import { Signa } from '@signa-so/sdk';

const signa = new Signa({ api_key: process.env.SIGNA_API_KEY });

// Search trademarks with phonetic matching
const results = await signa.trademarks.search({
  query: 'SIGNA',
  strategies: ['exact', 'phonetic'],
  filters: { offices: ['uspto', 'euipo'], nice_classes: [9, 42] },
  options: { aggregations: ['office_code'] },
});

// Get a specific trademark (full detail tier)
const mark = await signa.trademarks.retrieve('tm_abc123');

// List an owner's marks with auto-pagination
for await (const tm of signa.owners.trademarks('own_def456')) {
  console.log(tm.mark_text);
}

Resources

The SDK organizes the API into resource namespaces:
NamespaceDescription
signa.trademarksSearch, retrieve, history, batch, related marks, proceedings, media
signa.ownersOwner profiles, trademark portfolios, corporate relationships
signa.attorneysAttorney profiles, trademark portfolios, client lists
signa.firmsLaw firm profiles, attorneys, trademark portfolios
signa.proceedingsOppositions, cancellations, tribunal proceedings
signa.referencesClassifications, offices, jurisdictions, statuses, design codes
signa.suggestCross-entity autocomplete