TrademarxDeveloper Portal
FREE · NO CARD REQUIRED

Free Trademark Search API for India

The one and only free API provider for Indian trademarks and Trade Marks Journal data.

Everywhere else this data sits behind an enterprise contract or a per-query bill. Here it's free — in exchange for one small attribution link back to TradeMarx on your site.

  • We fetch trademarks from the live registry every hour, 24/7
  • 3M+ trademark records already indexed, growing daily
  • Every new journal publication ingested automatically
  • Same live data that powers trademarx.in's own search

Endpoints

GEThttps://admin.trademarx.in/api/public/v1/trademarks/search?name=nike&class=25

Keyword search across the public register — filter by mark name and/or NICE class.

GEThttps://admin.trademarx.in/api/public/v1/trademarks/journal?journalNo=2145

A journal’s published filings, or the latest filings if journalNo is omitted.

Authentication

Send your key on every request as a header:

curl "https://admin.trademarx.in/api/public/v1/trademarks/search?name=nike&class=25" \
  -H "X-API-Key: tmx_live_your_key_here"

OpenAPI spec

Machine-readable contract, generated from the running service so it can't drift from actual behaviour. Import it into Postman or Insomnia, or point a generator at it to get a typed client in your language.

https://admin.trademarx.in/v3/api-docs/public-api

Response fields

Both endpoints return an array of records in this shape.

FieldNotes
nameThe mark as filed. Frequently null — device/figurative marks are often filed without a word element.
applicationNoThe registry application number. Always present; this is the stable identifier to key on.
tmClassNICE class, 1–45.
detailsThe goods/services specification text as published.
trademarkStatusFree text as shown by the registry ("Registered", "Abandoned", "Formalities Chk Pass"…). There is no fixed vocabulary — match loosely. Null for the majority of the register, where the registry has not published a status — read null as "not published", not as "no status exists".
proprietorNameApplicant/owner name as filed.
applicationDateFiling date, YYYY-MM-DD.
imgUrlAbsolute URL to the mark image, or null for word marks.
typeTRADEMARK, IMAGEMARK, or null where not classified.
urlCanonical trademarx.in page for the record — handy if you're linking out for the attribution requirement.

Treat every field except applicationNo, tmClass and url as nullable — this is as-published registry data, and the registry does not fill in every column for every filing.

Limits & the one condition

  • Free tier: 200 requests/day on each of search and journal.
  • Results are capped at 20 rows per page — this is a lookup/search API, not a bulk export.
  • Pagination depth stops at page=49 (the first 1,000 matches). Follow the Link header's rel="next" and stop when it's gone; X-Total-Count still reports how many records matched in total. Asking for a deeper page returns 400.
  • Every response tells you your quota:X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (a Unix timestamp — quotas roll over at midnight IST). Going over returns 429 with a Retry-After.
  • CORS is open — call it straight from browser JavaScript on any origin.
  • Attribution required: add the snippet you'll receive after signup somewhere visible on your registered domain. We check for it weekly — a missing link warns you first, then suspends the key after repeated misses.

Get your API key

Issued instantly — no email verification wait.