Skip to content

Getting Started

This guide will walk you through making your first API request to GraphADV. Every code sample is presented in cURL, Python, JavaScript, and TypeScript so you can swap languages without scrolling.

Before you begin, you’ll need:

  • An API key (get one at graphadv.com)
  • Basic knowledge of REST APIs and HTTP requests
  1. Visit graphadv.com
  2. Click Get API Key
  3. Sign in with your email address or Google account
  4. Your API key will be generated and displayed immediately
  5. Copy and securely store your API key

Set these values once and reuse them across every snippet:

Terminal window
export BASE_URL="https://api.graphadv.com"
export GRAPHADV_API_KEY="YOUR_API_KEY"

All requests share the same headers:

  • x-api-key: $GRAPHADV_API_KEY
  • Content-Type: application/json

The Fly.io proxy expects a POST with a compact JSON payload:

{
"select": ["legal_name", "sec_number", "region", "aum_total_usd"],
"filters": { "region": "eq.Northeast" },
"order": "aum_total_usd.desc",
"limit": 5
}
  • select (array) — fields to return. Omit for all default fields.
  • filters (object) — key/value filters. Values support PostgREST operators (e.g., "aum_total_usd": "gte.1000000000").
  • order (string or array) — field.asc|desc[.nullsfirst|nullslast].
  • limit (number) — defaults to 25, capped at 50.

The base URL for all API requests is https://api.graphadv.com.

Terminal window
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": 5
}'

All responses are returned in JSON format with a wrapper and an optional total count:

{
"data": [
{
"legal_name": "Example Capital Management, LLC",
"sec_number": "801-123456",
"region": "Northeast",
"strategy_class_primary": "HEDGE_FUND",
"aum_total_usd": 5000000000,
"employee_count_total": 25
}
],
"total_count": 1234
}
Terminal window
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"],
"filters": { "gross_asset_value_usd": "gte.1000000000" },
"order": ["gross_asset_value_usd.desc","fund_name.asc"],
"limit": 25
}'
Terminal window
curl -X POST "$BASE_URL/firms" \
-H "x-api-key: $GRAPHADV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"select": ["legal_name","region","sec_number"],
"filters": { "legal_name": "ilike.*Capital*" },
"order": "legal_name.asc",
"limit": 10
}'
Terminal window
curl -X POST "$BASE_URL/funds" \
-H "x-api-key: $GRAPHADV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"select": ["fund_name","fund_type_label","gross_asset_value_usd"],
"order": "gross_asset_value_usd.desc",
"limit": 10
}'

Use limit (max 50) to size each page. The proxy returns a total_count value when available so you can calculate how many pages you need. Offset-based pagination is not exposed; prefer ordered pagination by a stable field (e.g., order: "filing_date.desc") combined with filters (e.g., filing_date: "lt.2024-09-01").

Terminal window
curl -X POST "$BASE_URL/firms" \
-H "x-api-key: $GRAPHADV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"select": ["legal_name","sec_number","aum_total_usd"],
"order": "aum_total_usd.desc",
"limit": 20
}'
  • Every record returned costs 1 credit.
  • Records that include revealed contact signals (email, LinkedIn, phone) cost 5 credits when the email is validated; 1 credit otherwise.

Now that you’ve made your first request, explore:

401 Unauthorized: Check that your API key is correct and properly formatted in the headers.

404 Not Found: Verify the endpoint URL and entity name are correct.

400 Bad Request: Review your filters, select list, and order clause for typos or unsupported fields.