Markbase
Markbase — Search 14M+ USPTO trademarks with fuzzy search and auto…
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.
We probe a documented GET and expect 2xx JSON — full uptime and health score. Open provider docs ↗
On our probe schedule. Uptime charts appear after the first check lands.
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"
]
}
}
}
}
}
}
}
}
}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())/openapi.jsonPROBEDMarkbase — Search 14M+ USPTO trademarks with fuzzy search and auto…
/openapi.json?limit=5Paginated variant with limit parameter.
/healthHealth check
/statusService status and uptime
/statsIndex statistics
/infoIndex coverage info
We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.
Not tracked yet. Shape-change history starts once this API joins our probe schedule.
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 (Unpublished).
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?
Markbase is catalogued but not yet on our probe schedule, so we don't publish a live status for it. Check the provider's own status page or docs for its current state.