Quickstart

Quickstart

This guide walks you through provisioning an API key, checking your free token balance, and calling your first tool — get_linkedin_company_url.

1. Provision an API key

API keys are issued by admin-tools after email verification. New accounts get 100 free tokens.

$curl -X POST https://admin.gtm-engine.sh/api/v0/get_api_key \
> -H "Content-Type: application/json" \
> -d '{"email": "you@yourcompany.com"}'

You’ll receive a verification email. Confirm it, and the response will contain your bearer token. Store it as GTM_ENGINE_API_KEY.

$export GTM_ENGINE_API_KEY="sk_..."

2. Check your balance

$curl https://admin.gtm-engine.sh/api/v0/get_token_balance \
> -H "Authorization: Bearer $GTM_ENGINE_API_KEY"
1{
2 "balance": 100,
3 "tools": {
4 "get_linkedin_company_url": { "cost": 2 },
5 "get_linkedin_profile_url": { "cost": 5 },
6 "list_linkedin_company_employees": { "cost": 30 },
7 "get_email": { "cost": 5 },
8 "detect_signal": { "cost": 0 }
9 }
10}

detect_signal is free (0 tokens) but the individual signals it dispatches are 5 tokens each — that’s how the all-in-one runner is metered.

3. Call your first tool

Find the LinkedIn page for a company by domain.

$curl -X POST https://socials.gtm-engine.sh/api/v0/get_linkedin_company_url \
> -H "Authorization: Bearer $GTM_ENGINE_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{"domain": "siena.cx"}'
1{
2 "url": "https://www.linkedin.com/company/siena-cx",
3 "domain": "siena.cx"
4}

That call cost 2 tokens — your balance is now 98.

4. Search the company’s employees

Use boolean title filters to narrow the result. AND, OR, and NOT are supported, and parentheses group expressions.

$curl -X POST https://socials.gtm-engine.sh/api/v0/list_linkedin_company_employees \
> -H "Authorization: Bearer $GTM_ENGINE_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "domain": "gorgias.com",
> "title_filters": "(CEO OR CTO OR Founder) NOT intern",
> "limit": 10,
> "page": 1
> }'

This single call costs 30 tokenslist_linkedin_company_employees is the most expensive socials tool because it runs a paginated, filtered crawl. See Token Efficiency for tips on minimizing spend.

5. Try other servers

Verify a professional email

$curl -X POST https://data.gtm-engine.sh/api/v0/get_email \
> -H "Authorization: Bearer $GTM_ENGINE_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{"name": "Justin Mares", "domain": "kettleandfire.com"}'
1{
2 "email": "justin@kettleandfire.com",
3 "is_catch_all": false,
4 "domain": "kettleandfire.com"
5}

Detect buying signals

$curl -X POST https://signals.gtm-engine.sh/api/v0/detect_signal \
> -H "Authorization: Bearer $GTM_ENGINE_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{"domain": "gymshark.com"}'

detect_signal runs every detector — hiring, Trustpilot, social spikes, tech stack — and returns the union of fired signals. The dispatch is free; only the individual detectors that ran are charged.

6. Wire MCP into your agent

The fastest way to give an AI agent access to all four servers is the remote MCP endpoints.

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

1{
2 "mcpServers": {
3 "admin-tools": {
4 "url": "https://admin.gtm-engine.sh/mcp",
5 "headers": { "Authorization": "Bearer YOUR_KEY" }
6 },
7 "socials-tools": {
8 "url": "https://socials.gtm-engine.sh/mcp",
9 "headers": { "Authorization": "Bearer YOUR_KEY" }
10 },
11 "data-tools": {
12 "url": "https://data.gtm-engine.sh/mcp",
13 "headers": { "Authorization": "Bearer YOUR_KEY" }
14 },
15 "signals-tools": {
16 "url": "https://signals.gtm-engine.sh/mcp",
17 "headers": { "Authorization": "Bearer YOUR_KEY" }
18 }
19 }
20}

Restart Claude Desktop. Tools should appear in the connector list and be callable from any chat.

Next steps