Sync GTM REST API
The REST API puts Sync GTM’s waterfall enrichment behind a plain HTTPS endpoint, so your own backend, CRM sync or data pipeline can look up contact data without a table and without an AI client.
It runs the same lookups as the MCP tools — same inputs, same providers, same credit prices — and bills the same organization balance. The difference is who is calling: the MCP server is for an assistant you talk to, the API is for code you write.
- Base URL
https://api.syncgtm.com/v1/api- Authentication
- Bearer API key (sgtm_live_…)
- Format
- JSON in, JSON out
- Rate limit
- 60 requests per minute per key
Quickstart
Create an API key
In the app, open Settings → API keys and click Create key. Only organization owners and admins can create keys. Copy the key when it is shown — it is displayed once and cannot be retrieved again. See Authentication.
Make your first call
curl https://api.syncgtm.com/v1/api/enrich/work-email \
-H "Authorization: Bearer $SYNCGTM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"linkedin_url": "https://www.linkedin.com/in/janedoe"}'Read the response
{
"status": "found",
"data": { "email": "jane@stripe.com" }
}A miss is still a 200, with "status": "not_found" and "data": null — and it costs nothing.
Endpoints
Every endpoint is a POST with a JSON body. Full request and response details are on each page.
| Endpoint | Cost | What it does |
|---|---|---|
POST /enrich/work-email | 1 credit per email found | LinkedIn URL, or name + company domain → work email |
POST /enrich/personal-email | 3 credits per email found | LinkedIn URL → personal mailbox address |
POST /enrich/mobile | 10 credits per number found | LinkedIn URL → mobile phone number |
POST /enrich/verify-email | 0.2 credits per verdict | Email → Verified or Unverified |
See the endpoint reference for the shared request and response shapes.
How it behaves
- Waterfall enrichment. Each lookup tries several data providers in sequence and stops at the first one that answers. You are charged once per lookup, never once per provider tried.
- You pay for answers, not attempts. A
not_foundresult is free. A request that times out or fails on our side is refunded. - Stable response bodies. Success is always
{ status, data }; failure is always{ error: { code, message } }. Provider names are never part of the response. See Errors. - Safe retries. Send an
Idempotency-Keyheader and a retried request replays the first response for 24 hours instead of charging again. See Rate limits and retries. - One balance. API calls draw on your organization’s credits, the same pool the app and the MCP server use. Check it on the usage and billing page.
API or MCP?
| Use the | When |
|---|---|
| REST API | A program is making the call — a nightly CRM sync, a signup webhook, a script over a CSV. You want fixed JSON and HTTP status codes. |
| MCP server | A person is asking — in Claude, ChatGPT or Cursor. You want 50+ tools, chained by the assistant, with browser sign-in and no key to store. |
The API covers the four highest-volume contact lookups today. Everything else — company enrichment, people search, signals — is available through the MCP server and in tables.
Support
- Join the Sync GTM Slack Community
- Contact support through the chat widget on docs.syncgtm.com
Include the endpoint, the HTTP status and the error.code when you report a problem — never the full API key.