Markbase

Markbase — Search 14M+ USPTO trademarks with fuzzy search and auto…

📈 FinanceHEALTHYchecked 1h ago
AUTH NONECORS AGENT HTTPS COMMERCIAL ?

Markbase exposes search 14M+ USPTO trademarks with fuzzy search and autocomplete We verified a keyless GET endpoint returning JSON (Business). Check the provider docs for rate limits and terms before production use.

85HOW IT'S SCORED ⓘ
Status badge · for your READMEshipapis health badge: 85 · healthy
Uptime history
99.02%90 days
98.3%30 days
866P50 · ms
1568P95 · ms
operationalpartialdownno data
Response time · last 48 checks
Fastest 253 ms, slowest 1467 ms, most recent 594 ms.
Live response samplecaptured by our last successful check
GET https://api.markbase.co/openapi.json

{
  "openapi": "3.1.0",
  "info": {
    "title": "Markbase",
    "description": "USPTO Trademark Search API — search, filter, and retrieve data from 14M+ U.S. trademarks.",
    "version": "1.20.3"
  },
  "components": {
    "schemas": {},
    "parameters": {}
  },
  "paths": {
    "/health": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Health check",
        "responses": {
          "200": {
            "description": "Service healthy",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "meilisearch": {
                      "type": "string"
                    },
                    "documents": {
                      "type": "number"
                    },
                    "indexing": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "status",
                    "meilisearch"
                  ]
                }
              }
            }
          },
          "503": {
            "description": "Service degraded",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "status",
                    "error"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/status": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Service status and uptime",
        "responses": {
          "200": {
            "description": "Full service status",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "uptime": {
                      "type": "string"
                    },
                    "uptime_seconds": {
                      "type": "number"
                    },
                    "started_at": {
                      "type": "string"
                    },
                    "timestamp": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "services": {
                      "type": "object",
                      "properties": {
                        "api": {
                          "type": "object",
                          "properties": {
                            "status": {
                              "type": "string"
                            },
                            "response_time_ms": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "status",
                            "response_time_ms"
                          ]
                        },
                        "meilisearch": {
                          "type": "object",
                          "properties": {
                            "status": {
                              "type": "string"
                            },
                            "response_time_ms": {
                              "type": "number"
                            },
                            "documents": {
                              "type": "number"
                            },
                            "indexing": {
                              "type": "boolean"
                            }
                          },
                          "required": [
                            "status",
                            "response_time_ms"
                          ]
                        }
                      },
                      "required": [
                        "api",
                        "meilisearch"
                      ]
                    },
                    "system": {
                      "type": "object",
                      "properties": {
                        "memory_mb": {
                          "type": "number"
                        },
                        "platform": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "memory_mb",
                        "platform"
                      ]
                    }
                  },
                  "required": [
                    "status",
                    "uptime"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/stats": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Index statistics",
        "responses": {
          "200": {
            "description": "Index stats",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "documents": {
                      "type": "number"
                    },
                    "indexing": {
                      "type": "boolean"
                    },
                    "field_distribution": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "number"
                      }
                    }
                  },
                  "required": [
                    "documents",
                    "indexing"
                  ]
                }
              }
            }
          },
          "503": {
            "description": "Stats unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/info": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Index coverage info",
        "description": "Shows total documents, oldest/newest filing dates, and last update time",
        "responses": {
          "200": {
            "description": "Index info",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total_documents": {
                      "type": "number"
                    },
                    "requests_served": {
                      "type": "number"
                    },
                    "indexing": {
                      "type": "boolean"
                    },
                    "oldest_filing": {
                      "type": "object",
                      "nullable": true,
                      "properties": {
                        "serial_number": {
                          "type": "string"
                        },
                        "filing_date": {
                          "type": "string",
                          "nullable": true
                        },
                        "word_mark": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "required": [
                        "serial_number",
                        "filing_date"
                      ]
                    },
                    "newest_filing": {
                      "type": "object",
                      "nullable": true,
                      "properties": {
                        "serial_number": {
                          "type": "string"
                        },
                        "filing_date": {
                          "type": "string",
                          "nullable": true
                        },
                        "word_mark": {
                          "type": "string",
                          "nullable": true
                        }
                      },
                      "required": [
                        "serial_number",
                        "filing_date"
                      ]
                    },
                    "last_updated": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "total_documents",
                    "requests_served"
                  ]
                }
              }
            }
          },
          "503": {
            "description": "Info unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/search": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Search trademarks",
        "description": "Full-text fuzzy search with filters, facets, and pagination",
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Search query",
              "example": "nike"
            },
            "required": false,
            "description": "Search query",
            "name": "q",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "description": "Filter by status code",
              "example": "800"
            },
            "required": false,
            "description": "Filter by status code",
            "name": "status_code",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Search results",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "query": {
                      "type": "string"
                    },
                    "hits": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "serial_number": {
                            "type": "string"
                          },
                          "registration_number": {
                            "type": "string",
                            "nullable": true
                          },
                          "transaction_date": {
                            "type": "string",
                            "nullable": true
                          },
                          "filing_date": {
                            "type": "string",
                            "nullable": true
                          },
                          "filing_date_num": {
                            "type": "number",
                            "nullable": true
                          },
                          "filing_year": {
                            "type": "number",
                            "nullable": true
                          },
                          "registration_date": {
                            "type": "string",
                            "nullable": true
                          },
                          "status_code": {
                            "type": "string",
                            "nullable": true
                          }
                        },
                        "required": [
                          "serial_number",
                          "registration_number"
                        ]
                      }
                    },
                    "total_hits": {
                      "type": "number"
                    },
                    "facets": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "number"
                        }
                      }
                    },
                    "page": {
                      "type": "number"
                    },
                    "limit": {
                      "type": "number"
                    },
                    "processing_time_ms": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "query",
                    "hits"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Missing query or filter",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Search failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/suggest": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Autocomplete suggestions",
        "description": "Lightweight autocomplete returning word_mark, owner_name, and status",
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "Search query",
              "example": "app"
            },
            "required": true,
            "description": "Search query",
            "name": "q",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "description": "Max suggestions (max 10)",
              "example": "5"
            },
            "required": false,
            "description": "Max suggestions (max 10)",
            "name": "limit",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Suggestions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "query": {
                      "type": "string"
                    },
                    "suggestions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "serial_number": {
                            "type": "string"
                          },
                          "word_mark": {
                            "type": "string",
                            "nullable": true
                          },
                          "owner_name": {
                            "type": "string",
                            "nullable": true
                          },
                          "status_code": {
                            "type": "string",
                            "nullable": true
                          }
                        },
                        "required": [
                          "serial_number",
                          "word_mark"
                        ]
                      }
                    },
                    "processing_time_ms": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "query",
                    "suggestions"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Missing query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Suggest failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/trademark/batch": {
      "post": {
        "tags": [
          "Trademarks"
        ],
        "summary": "Look up multiple trademarks by serial number",
        "description": "Fetch up to 50 trademarks in one request. Returns found marks and any serial numbers that were not found.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "serial_numbers": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 1,
                    "maxItems": 50,
                    "example": [
                      "90792662",
                      "88888888"
                    ]
                  }
                },
                "required": [
                  "serial_numbers"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Batch lookup results",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "found": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "serial_number": {
                            "type": "string"
                          },
                          "registration_number": {
                            "type": "string",
                            "nullable": true
                          },
                          "transaction_date": {
                            "type": "string",
                            "nullable": true
                          },
                          "filing_date": {
                            "type": "string",
                            "nullable": true
                          },
                          "filing_date_num": {
                            "type": "number",
                            "nullable": true
                          },
                          "filing_year": {
                            "type": "number",
                            "nullable": true
                          },
                          "registration_date": {
                            "type": "string",
                            "nullable": true
                          },
                          "status_code": {
                            "type": "string",
                            "nullable": true
                          }
                        },
                        "required": [
                          "serial_number",
                          "registration_number"
                        ]
                      }
                    },
                    "not_found": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "count": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "found",
                    "not_found"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Lookup failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/trademark/{serialNumber}/timeline": {
      "get": {
        "tags": [
          "Trademarks"
        ],
        "summary": "Prosecution timeline for a trademark",
        "description": "Normalizes the mark's date fields into an ordered list of prosecution events.",
        "parameters": [
          {
            "schema": {
              "type": "string",
              "description": "USPTO serial number",
              "example": "90792662"
            },
            "required": true,
            "description": "USPTO serial number",
            "name": "serialNumber",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Ordered timeline",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "serial_number": {
                      "type": "string"
                    },
                    "word_mark": {
                      "type": "string",
                      "nullable": true
                    },
                    "events": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "date": {
                            "type": "string"
                          },
                          "label": {
                            "type": "string"
                          },
                          "type": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "date",
                          "label"
                        ]
                      }
                    }
                  },
                  "required": [
                    "serial_number",
                    "word_mark"
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Lookup failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        }
      }
    }
  }
}
Call itcurl · fetch · python
curl "https://api.markbase.co/openapi.json"
const res = await fetch("https://api.markbase.co/openapi.json");
const data = await res.json();
console.log(data);
import requests

res = requests.get("https://api.markbase.co/openapi.json")
print(res.json())
Endpoints · 6HealthyFULL DOCS ↗
Monitored path responding — GET /openapi.json866 mschecked 1h ago
GET/openapi.jsonPROBED

Markbase — Search 14M+ USPTO trademarks with fuzzy search and auto…

GET/openapi.json?limit=5

Paginated variant with limit parameter.

GET/health

Health check

GET/status

Service status and uptime

GET/stats

Index statistics

GET/info

Index coverage info

Machine-readable spec

We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.

Response-shape history

Stable. No schema drift observed since monitoring began — the response shape has not changed under our checks.

Markbase: common questions

Is Markbase free to use?

Yes — Markbase is a free finance API. Free tier: Free — limits not published. Whether the free tier allows commercial use is unclear — check the provider docs.

Does Markbase need an API key?

No — Markbase needs no API key or signup. You can call it straight away; rate limits still apply (30 req/window · 29 remaining · resets 1783519324).

Can I call Markbase from the browser?

Yes — Markbase returns CORS headers over HTTPS, so front-end code can fetch it directly with no backend proxy. Use the fetch snippet on this page, or hit "Run live" to try it now.

Is Markbase up right now?

As of our last scheduled check, Markbase is healthy with 99.02% uptime over 90 days and a 866 ms median response. We re-probe it every sweep — the status badge and uptime chart above always show the latest.