Trademark Search API Overview

Use our trademark search API to search the US trademarks database (USPTO) based on a search string. Our API allows search by serial number, trademark, upcoming expiration date, and product/service description. Sign up to integrate trademark data into your application.

Trademark Search

use * for wildcard

Register

API Pricing

1K searches a month
FREE
10K searches a month
$25 USD
250K searches a month
$50 USD
10M searches a month
$100 USD

Customer Testimonial

"Marker's trademark API service has allowed us to check trademark availability for name suggestions on our business naming contests. Our clients have asked for this information for some time and now we have delivered, thanks to Marker."

Wes Cutshall
NamingForce.com

What is a trademark search API?

Our API (application programming interface) is a REST API that searches the US trademark database (USPTO) of wordmarks and returns a JSON-encoded result set of matching trademarks based on a search string.

Marker API V2 has 4 different API endpoints: Serial Number Search, Trademark Search, Description Search, and Expiration Search.

The Serial Number API endpoint returns one record per search and includes all registration data for the trademark.

The Trademark Search API endpoint allows for either exact match or wildcard searching using asterisks for wildcards. The trademark search can return trademarks of all statuses (pending, active, expired) or only active trademarks by setting "status" to "all" or "active".

The Description Search API endpoint searches the goods/services description and performs a wildcard search within the trademark descriptions. The description search can return trademarks of all statuses (pending, active, expired) or only active trademarks by setting "status" to "all" or "active".

The Expiration Search API endpoint searches for expiring trademarks within a given, future, time frame ("6 months", "1 year", etc).

All API endpoints implement paging for faster API responses with large result sets with 100 results per page. When a response has more results than what is returned the "next" key is set in the response. The next key is an integer that you should use as your "start" parameter in your next API call to see the next page. You should send all the same parameters (search, status, etc) but change the start parameter for each subsequent page request.

See the documentation for more details.

The data returned consists of:
  1. serial number
  2. trademark
  3. goods and services code
  4. description
  5. status code
  6. status
  7. status description
  8. owner and address
  9. filing date
  10. registration date

How do I use the API?

Requirements
You must have an active API subscription.
Trademark Search API URL
https://www.markerapi.com/api/v2/trademarks/trademark/search term/status/active or all/start/an integer/username/api username/password/api password
Documentation
API documentation
PHP Trademark Search
$search = "starbucks";

//"active" or "all"
$status = "active";

//a new search should start at 1
$start = 1;

//see marker function below
$aryTrademarks = marker($search, $status, $start);

foreach($aryTrademarks as $trademark){
	$str =  $trademark["serialnumber"]." ".$trademark["trademark"]. " ".$trademark["description"]." ".$trademark["gscode"]." ".$trademark["regdate"]."
"; echo $str; } function marker($search, $status, $start){ //initialize curl $curl = curl_init(); $username = ""; $password = ""; //create a url with your search term, username, and password $url = "https://dev.markerapi.com/api/v2/trademarks/trademark/".urlencode($search)."/status/{$status}/start/{$start}/username/{$username}/password/{$password}"; //set curl options curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //perform curl and return json decoded results $response = json_decode(curl_exec($curl)); //if there were trademarks returned if($response->count > 0) { //loop through returned trademarks foreach($response->trademarks as $trademark) { //serial number $serialnumber = $trademark->serialnumber; //trademark name $wordmark = $trademark->wordmark; //trademark description $description = $trademark->description; //goods and services code $code = $trademark->code; //registration date $registrationdate = $trademark->registrationdate; $aryAllTrademarks[] = array("serialnumber" => $serialnumber, "trademark" => $wordmark, "description" => $description, "gscode" => $code, "regdate" => $registrationdate); } if(array_key_exists("next", $response)){ $aryAllTrademarks = array_merge($aryAllTrademarks, marker($search, $status, $response->next)); } return $aryAllTrademarks; } }
requires API subscription w/ username and password

Our Trademark Search API call allows for exact match or wildcard searches using asterisks. The v1 API returns results for Live/Registered status trademarks only. Expired or pending trademarks are not returned. See the documentation for more details. V2 introduces more features and statuses on searches. Up to 100 results can be returned with the V1 API. See the documentation for more details.

The data returned consists of:
  1. trademark serial number
  2. wordmark
  3. goods and services code
  4. description
  5. registration date

How do I use the API?

Requirements
You must have an active API subscription.
Trademark Search API URL
https://www.markerapi.com/api/v1/trademark/search/term/username/user/password/pass
Documentation
API documentation
PHP Trademark Search
function marker($search)
{
   //url encode the trademark to search for
   $search = urlencode($search);

   //initialize curl
   $curl = curl_init();

   //create a url with your search term, username, and password
   $url = "https://www.markerapi.com/api/v1/trademark/search/$search/
   username/$user/password/$pass";

   //set curl options
   curl_setopt($curl, CURLOPT_URL, $url);
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

   //perform curl and return json decoded results
   return json_decode(curl_exec($curl));
}

//get response from service
$response = marker($searchterm);

//if there were trademarks returned
if($response->count > 0)
{
	//loop through returned trademarks
	foreach($response->trademarks as $trademark)
	{
	    //serial number
	    $serialnumber = $trademark->serialnumber;

	    //trademark name
	    $wordmark = $trademark->wordmark;

	    //trademark description
	    $description = $trademark->description;

	    //goods and services code
	    $code = $trademark->code;

	    //registration date
	    $registrationdate = $trademark->registrationdate;
	}
}
	
requires API subscription w/ username and password

Additional Features

Trademark Monitoring

You can set up trademark search monitoring for up to 10 search terms. Trademark monitoring allows you to be notified if any new trademarks are registered that meet your search criteria.

Need to check social media username availability? Try Checkmarks Social Username API