Examples
Examples & Use Cases
Section titled “Examples & Use Cases”Set your environment once and reuse it across tabs:
export BASE_URL="https://api.graphadv.com"export GRAPHADV_API_KEY="YOUR_API_KEY"All calls are POST requests with JSON bodies and a single header: x-api-key.
Get Firms by Region
Section titled “Get Firms by Region”curl -X POST "$BASE_URL/firms" \ -H "x-api-key: $GRAPHADV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "select": ["legal_name","sec_number","region","aum_total_usd"], "filters": { "region": "eq.Northeast" }, "order": "aum_total_usd.desc", "limit": 25 }'import osimport requests
headers = {"x-api-key": os.getenv("GRAPHADV_API_KEY"), "Content-Type": "application/json"}resp = requests.post( f"{os.getenv('BASE_URL', 'https://api.graphadv.com')}/firms", headers=headers, json={ "select": ["legal_name", "sec_number", "region", "aum_total_usd"], "filters": {"region": "eq.Northeast"}, "order": "aum_total_usd.desc", "limit": 25, },)firms = resp.json()["data"]const response = await fetch(`${BASE_URL}/firms`, { method: 'POST', headers: { 'x-api-key': process.env.GRAPHADV_API_KEY ?? '', 'Content-Type': 'application/json' }, body: JSON.stringify({ select: ['legal_name', 'sec_number', 'region', 'aum_total_usd'], filters: { region: 'eq.Northeast' }, order: 'aum_total_usd.desc', limit: 25 })});const { data: firms } = await response.json();const response = await fetch(`${BASE_URL}/firms`, { method: 'POST', headers: { 'x-api-key': process.env.GRAPHADV_API_KEY ?? '', 'Content-Type': 'application/json' }, body: JSON.stringify({ select: ['legal_name', 'sec_number', 'region', 'aum_total_usd'], filters: { region: 'eq.Northeast' }, order: 'aum_total_usd.desc', limit: 25 })});const { data: firms } = (await response.json()) as { data: unknown[] };Pull a Single Firm by SEC Number
Section titled “Pull a Single Firm by SEC Number”curl -X POST "$BASE_URL/firms" \ -H "x-api-key: $GRAPHADV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "filters": { "sec_number": "eq.801-123456" }, "limit": 1 }'firm = requests.post( f"{os.getenv('BASE_URL', 'https://api.graphadv.com')}/firms", headers=headers, json={"filters": {"sec_number": "eq.801-123456"}, "limit": 1},).json()["data"][0]const { data: [firm] = [] } = await fetch(`${BASE_URL}/firms`, { method: 'POST', headers: { 'x-api-key': process.env.GRAPHADV_API_KEY ?? '', 'Content-Type': 'application/json' }, body: JSON.stringify({ filters: { sec_number: 'eq.801-123456' }, limit: 1 })}).then(r => r.json());const { data: [firm] = [] } = (await fetch(`${BASE_URL}/firms`, { method: 'POST', headers: { 'x-api-key': process.env.GRAPHADV_API_KEY ?? '', 'Content-Type': 'application/json' }, body: JSON.stringify({ filters: { sec_number: 'eq.801-123456' }, limit: 1 })}).then(r => r.json())) as { data: unknown[] };Funds Over $1B With Common Strategies
Section titled “Funds Over $1B With Common Strategies”curl -X POST "$BASE_URL/funds" \ -H "x-api-key: $GRAPHADV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "select": ["fund_business_key","fund_name","fund_type_label","gross_asset_value_usd","domicile_country"], "filters": { "gross_asset_value_usd": "gte.1000000000" }, "order": ["gross_asset_value_usd.desc","fund_name.asc"], "limit": 20 }'funds = requests.post( f"{os.getenv('BASE_URL', 'https://api.graphadv.com')}/funds", headers=headers, json={ "select": ["fund_business_key", "fund_name", "fund_type_label", "gross_asset_value_usd", "domicile_country"], "filters": {"gross_asset_value_usd": "gte.1000000000"}, "order": ["gross_asset_value_usd.desc", "fund_name.asc"], "limit": 20, },).json()["data"]const { data: funds } = await fetch(`${BASE_URL}/funds`, { method: 'POST', headers: { 'x-api-key': process.env.GRAPHADV_API_KEY ?? '', 'Content-Type': 'application/json' }, body: JSON.stringify({ select: ['fund_business_key', 'fund_name', 'fund_type_label', 'gross_asset_value_usd', 'domicile_country'], filters: { gross_asset_value_usd: 'gte.1000000000' }, order: ['gross_asset_value_usd.desc', 'fund_name.asc'], limit: 20 })}).then(r => r.json());const { data: funds } = (await fetch(`${BASE_URL}/funds`, { method: 'POST', headers: { 'x-api-key': process.env.GRAPHADV_API_KEY ?? '', 'Content-Type': 'application/json' }, body: JSON.stringify({ select: ['fund_business_key', 'fund_name', 'fund_type_label', 'gross_asset_value_usd', 'domicile_country'], filters: { gross_asset_value_usd: 'gte.1000000000' }, order: ['gross_asset_value_usd.desc', 'fund_name.asc'], limit: 20 })}).then(r => r.json())) as { data: unknown[] };Principals With Validated Emails for a Firm
Section titled “Principals With Validated Emails for a Firm”curl -X POST "$BASE_URL/principals" \ -H "x-api-key: $GRAPHADV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "select": ["full_name","title","email_is_validated","linkedin_url","firm_legal_name"], "filters": { "email_is_validated": "is.true" }, "order": "full_name.asc", "limit": 15 }'principals = requests.post( f"{os.getenv('BASE_URL', 'https://api.graphadv.com')}/principals", headers=headers, json={ "select": ["full_name", "title", "email_is_validated", "linkedin_url", "firm_legal_name"], "filters": {"email_is_validated": "is.true"}, "order": "full_name.asc", "limit": 15, },).json()["data"]const { data: principals } = await fetch(`${BASE_URL}/principals`, { method: 'POST', headers: { 'x-api-key': process.env.GRAPHADV_API_KEY ?? '', 'Content-Type': 'application/json' }, body: JSON.stringify({ select: ['full_name', 'title', 'email_is_validated', 'linkedin_url', 'firm_legal_name'], filters: { email_is_validated: 'is.true' }, order: 'full_name.asc', limit: 15 })}).then(r => r.json());const { data: principals } = (await fetch(`${BASE_URL}/principals`, { method: 'POST', headers: { 'x-api-key': process.env.GRAPHADV_API_KEY ?? '', 'Content-Type': 'application/json' }, body: JSON.stringify({ select: ['full_name', 'title', 'email_is_validated', 'linkedin_url', 'firm_legal_name'], filters: { email_is_validated: 'is.true' }, order: 'full_name.asc', limit: 15 })}).then(r => r.json())) as { data: unknown[] };Latest Filings
Section titled “Latest Filings”curl -X POST "$BASE_URL/filings" \ -H "x-api-key: $GRAPHADV_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "select": ["filing_id","filing_date","filing_type","firm_legal_name","public_url"], "order": "filing_date.desc", "limit": 10 }'filings = requests.post( f"{os.getenv('BASE_URL', 'https://api.graphadv.com')}/filings", headers=headers, json={ "select": ["filing_id", "filing_date", "filing_type", "firm_legal_name", "public_url"], "order": "filing_date.desc", "limit": 10, },).json()["data"]const { data: filings } = await fetch(`${BASE_URL}/filings`, { method: 'POST', headers: { 'x-api-key': process.env.GRAPHADV_API_KEY ?? '', 'Content-Type': 'application/json' }, body: JSON.stringify({ select: ['filing_id', 'filing_date', 'filing_type', 'firm_legal_name', 'public_url'], order: 'filing_date.desc', limit: 10 })}).then(r => r.json());const { data: filings } = (await fetch(`${BASE_URL}/filings`, { method: 'POST', headers: { 'x-api-key': process.env.GRAPHADV_API_KEY ?? '', 'Content-Type': 'application/json' }, body: JSON.stringify({ select: ['filing_id', 'filing_date', 'filing_type', 'firm_legal_name', 'public_url'], order: 'filing_date.desc', limit: 10 })}).then(r => r.json())) as { data: unknown[] };- Use arrays in
filterswhen you need OR semantics:{ "state": ["CA", "NY"] }. - Keep
limitat or below 50; the proxy caps requests beyond that. total_countis returned in the JSON body when available—use it to size pagination.- Joins are not exposed via nested selects; fetch related data with a second call using an ID filter.