Skip to content

Provider Reference

IPKit connects to 10 intellectual property offices worldwide. Each provider implements access to a specific jurisdiction’s trademark, design, or patent data. This page documents the capabilities, authentication requirements, and configuration for each provider.

FeatureUSEUAUNZWIPOGBCAJPCNEP
API typeRESTRESTRESTRESTRESTScrapingScrapingScrapingScrapingREST
Auth methodAPI keyOAuth2OAuth2API keyNoneNoneNoneNoneNoneOAuth2
Trademark searchFullFullFullFullFullNumber onlyNumber onlyNumber onlyNumber only
Design searchFullFull
Patent searchFullFull
Name searchYesYesYesYesYes
Owner searchYesYesYesYesYes
Number searchYesYesYesYesYesYesYesYesYes
Fuzzy searchYesYesYesYes
Status detailsFullFullFullFullFullBasicBasicBasicBasicFull
Nice class filteringYesYesYesYesYes
G&S validationYes
Rate limit default60/min60/min500/min60/min30/min30/min30/min30/min30/min30/min
Credentials requiredYesYesYesYesNoNoNoNoNoYes

Legend:

  • Full — complete search and detail retrieval via structured API
  • Number only — lookup by application or registration number only (no name/owner search)
  • Basic — limited status information compared to full API providers
  • Scraping — data retrieved via web scraping (less reliable, subject to site changes)

Full name: United States Patent and Trademark Office Website: https://www.uspto.gov API documentation: USPTO Open Data Portal

VariableDescription
USPTO_API_KEYAPI key from the USPTO developer portal
  • Full trademark search by name, owner, number, and fuzzy similarity
  • Detailed trademark records including prosecution history, goods and services, and owner information
  • Status tracking with live/dead classification
  • Nice class filtering on search queries
  • IPKit supports both the legacy TSDR API and the newer Open Data Portal (ODP). Set USPTO_USE_ODP=true to use ODP.
  • The ODP API uses a different base URL configurable via USPTO_ODP_BASE_URL.
  • Default rate limit is 60 requests/min, adjustable via USPTO_RATE_LIMIT.

Full name: European Union Intellectual Property Office Website: https://euipo.europa.eu API documentation: EUIPO API Portal

VariableDescription
EUIPO_CLIENT_IDOAuth2 client ID from the EUIPO API portal
EUIPO_CLIENT_SECRETOAuth2 client secret
VariableDescription
EUIPO_SANDBOX_CLIENT_IDSandbox OAuth2 client ID (for testing)
EUIPO_SANDBOX_CLIENT_SECRETSandbox OAuth2 client secret
EUIPO_SANDBOXSet to true to use the sandbox environment (default: false)
  • Full trademark search with name, owner, number, and fuzzy matching
  • EU design search with Locarno classification filtering
  • Goods and Services validation against the EUIPO Harmonised Database
  • G&S translation between EU languages
  • Person lookup for applicants and representatives
  • Applicant portfolio search across trademarks and designs

EUIPO access is split across four API products sharing the same OAuth2 credentials:

ClientPurposeProvider Name
Trademark SearchTrademark search and statusEUIPO
Goods & ServicesG&S validation and translationEUIPO-GS
Designs SearchDesign search and statusEUIPO-Designs
PersonsApplicant and representative lookupEUIPO-Persons

All four clients share a single OAuth token cached by provider and client ID.

  • The EUIPO API uses RSQL substring matching, not edit-distance fuzzy matching. The query verbalElement=="*GOOGEL*" will not find “GOOGLE”. IPKit works around this with client-side truncated stem search and ensemble similarity scoring.
  • A sandbox environment is available for testing but has intermittent 401 responses (~40% failure rate on token endpoint).
  • Nice class filtering uses =in= (disjunctive: match marks in ANY listed class).

Full name: IP Australia Website: https://www.ipaustralia.gov.au API documentation: IP Australia API Portal

VariableDescription
IPAUSTRALIA_CLIENT_IDOAuth2 client ID from the IP Australia API portal
IPAUSTRALIA_CLIENT_SECRETOAuth2 client secret
VariableDescription
IPAUSTRALIA_TEST_ENVSet to true to use the test environment (default: false)
  • Full trademark search with name, owner, number, and fuzzy matching
  • AU design search with Locarno classification
  • AU patent search with IPC classification
  • Detailed records including prosecution history, owners, and representatives

IP Australia access spans three API products sharing the same OAuth2 credentials and rate limit budget:

ClientPurposeProvider Name
Trade Mark SearchTrademark search and statusIPAustralia
Design SearchDesign search and statusIPAustralia-Designs
Patent SearchPatent search and statusIPAustralia-Patents
  • All three clients share a single OAuth token and a single rate limiter (600 req/min Base Tier from IP Australia, IPKit defaults to 500/min).
  • The Patent Search API only offers Quick Search (max 50 results per page), not the richer Paged Advanced Search available for trademarks and designs.
  • Rate limit adjustable via IPAUSTRALIA_RATE_LIMIT.

Full name: Intellectual Property Office of New Zealand Website: https://www.iponz.govt.nz

VariableDescription
IPONZ_API_KEYAPI key from the IPONZ API portal
  • Full trademark search by name, owner, number, and fuzzy similarity
  • Detailed trademark records with status history
  • Nice class filtering
  • Default rate limit is 60 requests/min, adjustable via IPONZ_RATE_LIMIT.

WIPO (World Intellectual Property Organization)

Section titled “WIPO (World Intellectual Property Organization)”

Full name: World Intellectual Property Organization — Global Brand Database Website: https://branddb.wipo.int

None. The WIPO Global Brand Database API does not require authentication.

  • Full trademark search by name and owner across Madrid System international registrations
  • Number lookup for international registration numbers
  • Nice class filtering
  • Fuzzy search is not supported at the API level.
  • The API is undocumented (Solr-like interface). IPKit reverse-engineers the query format.
  • Default rate limit is 30 requests/min, adjustable via WIPO_RATE_LIMIT.

Full name: UK Intellectual Property Office Website: https://www.gov.uk/government/organisations/intellectual-property-office

None. UKIPO data is accessed via web scraping.

  • Trademark lookup by application or registration number
  • Basic status information
  • No name, owner, or fuzzy search. Only number-based lookup is supported.
  • Data is scraped from the UKIPO web interface and is subject to layout changes.
  • Limited status detail compared to API-based providers.
  • Default rate limit is 30 requests/min, adjustable via UKIPO_RATE_LIMIT.

Full name: Canadian Intellectual Property Office Website: https://ised-isde.canada.ca/site/canadian-intellectual-property-office/en

None. CIPO data is accessed via web scraping.

  • Trademark lookup by application or registration number
  • Basic status information
  • No name, owner, or fuzzy search. Only number-based lookup is supported.
  • Data is scraped from the CIPO web interface.
  • Default rate limit is 30 requests/min, adjustable via CIPO_RATE_LIMIT.

Full name: Japan Patent Office Website: https://www.jpo.go.jp

None. JPO data is accessed via web scraping.

  • Trademark lookup by application or registration number
  • Basic status information
  • No name, owner, or fuzzy search. Only number-based lookup is supported.
  • The JPO API is in trial phase. IPKit currently uses web scraping.
  • Default rate limit is 30 requests/min, adjustable via JPO_RATE_LIMIT.

Full name: China National Intellectual Property Administration Website: https://english.cnipa.gov.cn

None. CNIPA data is accessed via web scraping.

  • Trademark lookup by application or registration number
  • Basic status information
  • No name, owner, or fuzzy search. Only number-based lookup is supported.
  • Data is scraped from the CNIPA web interface.
  • Default rate limit is 30 requests/min, adjustable via CNIPA_RATE_LIMIT.

Full name: European Patent Office — Open Patent Services (OPS) Website: https://www.epo.org API documentation: EPO OPS Documentation

VariableDescription
EPO_CONSUMER_KEYOAuth2 consumer key from the EPO developer portal
EPO_CONSUMER_SECRETOAuth2 consumer secret
  • Patent search across 130M+ documents worldwide
  • Full patent details including abstract, claims, description, and drawings
  • INPADOC patent family search across jurisdictions
  • IPC and CPC classification
  • Patent bibliographic data, publication events, and legal status
  • EPO OPS uses OAuth2 client-credentials authentication with the token endpoint at https://ops.epo.org/3.2/auth/accesstoken.
  • The API returns XML-derived JSON with hyphenated keys and { $: "value" } text wrappers. IPKit normalizes these into standard JSON.
  • Default rate limit is 30 requests/min, adjustable via EPO_RATE_LIMIT.
  • EPO is a patent-only provider. It does not provide trademark or design search.