Firm Attorneys
curl --request GET \
--url https://api.signa.so/v1/firms/{id}/attorneys \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.signa.so/v1/firms/{id}/attorneys"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.signa.so/v1/firms/{id}/attorneys', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.signa.so/v1/firms/{id}/attorneys",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.signa.so/v1/firms/{id}/attorneys"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.signa.so/v1/firms/{id}/attorneys")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.signa.so/v1/firms/{id}/attorneys")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"object": "list",
"data": [
{
"id": "att_3kPq9X",
"object": "attorney",
"name": "Jane R. Smith",
"canonical_name": "JANE R SMITH",
"firm_name": "Smith & Associates LLP",
"country_code": "US",
"trademark_count": 1284,
"grant_rate": 0.81,
"latest_filing_date": "2026-04-08",
"created_at": "2024-09-12T11:42:01Z",
"updated_at": "2026-04-09T03:18:22Z"
}
],
"has_more": true,
"pagination": { "cursor": "eyJpZCI6..." },
"request_id": "req_xyz"
}
Firms
Firm Attorneys
List the attorneys at a specific law firm
GET
/
v1
/
firms
/
{id}
/
attorneys
Firm Attorneys
curl --request GET \
--url https://api.signa.so/v1/firms/{id}/attorneys \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.signa.so/v1/firms/{id}/attorneys"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.signa.so/v1/firms/{id}/attorneys', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.signa.so/v1/firms/{id}/attorneys",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.signa.so/v1/firms/{id}/attorneys"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.signa.so/v1/firms/{id}/attorneys")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.signa.so/v1/firms/{id}/attorneys")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"object": "list",
"data": [
{
"id": "att_3kPq9X",
"object": "attorney",
"name": "Jane R. Smith",
"canonical_name": "JANE R SMITH",
"firm_name": "Smith & Associates LLP",
"country_code": "US",
"trademark_count": 1284,
"grant_rate": 0.81,
"latest_filing_date": "2026-04-08",
"created_at": "2024-09-12T11:42:01Z",
"updated_at": "2026-04-09T03:18:22Z"
}
],
"has_more": true,
"pagination": { "cursor": "eyJpZCI6..." },
"request_id": "req_xyz"
}
Credits: 1 per page.
Overview
Returns the attorneys with at least one current filing that names this firm. Each row’s filing volume, grant rate and most recent filing date cover only the filings that name this firm, so you can rank within the firm. Rows are sorted by that filing volume, highest first.Path Parameters
string
required
Firm ID (
firm_...).Query Parameters
integer
default:"20"
Page size (1-100).
string
Pagination cursor from a previous response.
Response
object[]
Array of attorney records at this firm.
string
Attorney ID (
att_...).string
Display name of the attorney.
string
Normalized name used for entity resolution.
string
This firm’s display name.
string
Two-letter country code.
integer
Trademarks this attorney filed naming this firm (a Madrid international registration and its designations count once). Not the attorney’s total.
number
Share of concluded prosecutions (registered + expired + cancelled) that were ever granted (0-1), over the filings naming this firm.
string
ISO date of the most recent filing naming this firm.
string
ISO 8601 record creation timestamp.
string
ISO 8601 last-updated timestamp.
{
"object": "list",
"data": [
{
"id": "att_3kPq9X",
"object": "attorney",
"name": "Jane R. Smith",
"canonical_name": "JANE R SMITH",
"firm_name": "Smith & Associates LLP",
"country_code": "US",
"trademark_count": 1284,
"grant_rate": 0.81,
"latest_filing_date": "2026-04-08",
"created_at": "2024-09-12T11:42:01Z",
"updated_at": "2026-04-09T03:18:22Z"
}
],
"has_more": true,
"pagination": { "cursor": "eyJpZCI6..." },
"request_id": "req_xyz"
}
Code Examples
curl "https://api.signa.so/v1/firms/firm_2kLm9X/attorneys?limit=20" \
-H "Authorization: Bearer sig_YOUR_KEY"
import { Signa } from "@signa-so/sdk";
const signa = new Signa({ api_key: process.env.SIGNA_API_KEY });
const page = await signa.firms.attorneys("firm_2kLm9X", { limit: 20 });
Related Endpoints
- Retrieve Firm: full firm detail
- Firm Trademarks: marks handled by this firm
- Search Attorneys: search attorneys across firms