Developer/Trademark Search API
Availablev1 · REST · JSON

Trademark Search API

Query 14 million+ USPTO trademark records by mark name, owner, or goods and services description. Filter by status, Nice class, and more. Returns filing dates, ownership data, registration numbers, and full mark details.

14M+ recordsSub-200ms p95Wildcard searchNice class filtersReal-time USPTO data

Authentication

All requests require a Bearer token in the Authorization header. Get your API key from the Developer dashboard.

curl
curl "https://searchmarq.com/api/v1/search?q=NIKE" \
  -H "Authorization: Bearer smq_live_xxxxxxxxxxxxxxxxxxxx"

Never expose your API key client-side. Make all requests from your server.

Base URL

https://searchmarq.com/api/v1

All endpoints are HTTPS only. HTTP requests will be rejected.

Endpoints

GET/api/v1/marks/:serial

Retrieve full details for a single trademark by its USPTO serial number. Includes owner address, attorney, correspondent, and design codes.

Parameters

ParameterTypeReq.Description
serialstringYesUSPTO serial number, e.g. 97123456

Response

curl
{
  "data": {
    "serial_number": "97123456",
    "mark_identification": "NIKE",
    "status_code": "Registered",
    "filing_date": "2022-01-15",
    "registration_date": "2023-04-11",
    "owner_name": "Nike, Inc.",
    "owner_address": "One Bowerman Drive, Beaverton, OR 97005",
    "goods_services": "Athletic footwear; athletic clothing",
    "nice_class": ["025"],
    "mark_type": "Standard Character",
    "registration_number": "6789012",
    "attorney_name": "Jane Smith",
    "correspondent_name": "Nike Legal Department",
    "design_codes": [],
    "disclaimer": null,
    "acquired_distinctiveness": false
  }
}
GET/api/v1/brands/:owner

Fetch a brand profile aggregated from all trademark records for a canonical owner name. Includes portfolio stats, top Nice classes, filing timeline, and enrichment data.

Parameters

ParameterTypeReq.Description
ownerstringYesURL-encoded canonical owner name, e.g. Nike%2C%20Inc.

Response

curl
{
  "data": {
    "canonical_name": "Nike, Inc.",
    "total_marks": 2841,
    "registered": 1920,
    "pending": 312,
    "abandoned": 609,
    "top_classes": ["025", "028", "035"],
    "first_filing": "1969-03-20",
    "latest_filing": "2024-11-08",
    "enrichment": {
      "industry": "Sportswear & Footwear",
      "website": "nike.com",
      "description": "Multinational corporation that designs and sells athletic footwear, apparel, and equipment."
    }
  }
}
GET/api/v1/owners

List the top trademark filers by total mark count. Useful for competitive analysis and market research.

Parameters

ParameterTypeReq.Description
limitintegerNoNumber of results to return, max 100 (default: 20)
min_marksintegerNoMinimum total trademark count
pageintegerNoPage number (default: 1)

Examples

curl
curl "https://searchmarq.com/api/v1/search?q=NIKE*&type=trademark" \
  -H "Authorization: Bearer YOUR_API_KEY"

Rate Limits

Limits are applied per API key on a rolling 24-hour window. When you exceed your limit, requests return a 429 status.

PlanRequests / day
Free500
Starter1,000
Pro5,000
Business15,000
EnterpriseCustom

Rate limit headers are returned on every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Error Codes

All errors return a JSON body with a error string and optional details field.

StatusLabelMeaning
200OKRequest succeeded
400Bad RequestMissing or invalid parameters
401UnauthorizedMissing or invalid API key
429Too Many RequestsDaily rate limit exceeded
500Internal Server ErrorUnexpected server error
curl
// Error response example
{
  "error": "Rate limit exceeded",
  "details": "You have used 500/500 requests today. Limit resets at 2024-01-15T00:00:00Z.",
  "reset_at": "2024-01-15T00:00:00Z"
}
Ready to build?
Get your API key in seconds — free tier includes 500 requests/day.