Marker API V2 has 5 different API endpoints: Serial Number Search, Trademark Search, Description Search, Owner 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 Owner Search API endpoint searches for trademarks registered by a certain person, group, or company.
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:$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;
}
}
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: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://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;
}
}
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.