API Reference
The GTMAPIs REST API provides B2B data enrichment including email validation, email finder, LinkedIn company data, and people lookup.Base URL
Authentication
All API requests require an API key in theX-API-Key header:
Available Endpoints
Email Validation
Single Validation
POST /v1/validateValidate a single email address with B2B quality scoringBulk Validation
POST /v1/validate/bulkValidate up to 100 emails at onceEmail Finder
Find Email
POST /v1/findFind professional email from name + companyBulk Find
POST /v1/find/bulkFind emails for up to 100 contactsLinkedIn Company Data
Company Profile
POST /v1/linkedin/companyGet company details, size, funding, locationsEmployee Data
POST /v1/linkedin/employees/countEmployee count and growth metricsRecent Hires
POST /v1/linkedin/hiresWho they hired recently (sales signal)Job Postings
POST /v1/linkedin/jobsCurrent open positionsPeople Data
Person Lookup
POST /v1/people/lookupFind LinkedIn profile from name + companyRole Lookup
POST /v1/people/roleFind person by job role at a companyEmail to LinkedIn
POST /v1/people/email-to-linkedinConvert work email to LinkedIn URLMobile Finder
POST /v1/mobile/findFind mobile phone numbersProfile Enrichment
POST /v1/profile/enrichGet full profile from email or LinkedInEmployee Search
POST /v1/people/searchSearch employees with filtersCompany Enrichment
Company Enrichment
POST /v1/company/enrichGet firmographic data for any companyBulk Enrichment
POST /v1/company/enrich/bulkEnrich up to 25 companies at onceSubscriptions & Billing
Create Subscription
POST /v1/subscriptions/createStart a new Stripe subscriptionGet Current Subscription
GET /v1/subscriptions/currentCheck subscription status and creditsCancel Subscription
POST /v1/subscriptions/cancelCancel at end of billing periodReactivate Subscription
POST /v1/subscriptions/reactivateUndo cancellation before period endsMonitoring
Rate Limits
- Limit: 1000 requests per minute per API key
- Bulk limit: 100 emails per request
- Response header:
X-RateLimit-Remaining
Request Format
All requests must include: Headers:Content-Type: application/jsonX-API-Key: gtm_test_your_key_here
Response Format
All successful responses return HTTP 200 with JSON:Error Responses
400 Bad Request
Invalid request format or missing required fields:401 Unauthorized
Missing or invalid API key:429 Too Many Requests
Rate limit exceeded:500 Internal Server Error
Unexpected server error:Response Fields
| Field | Type | Description |
|---|---|---|
email | string | The validated email address |
result | string | One of: valid, valid_role_based, risky, invalid, unknown |
reason | string | Human-readable explanation of the result |
is_role_based | boolean | Whether the email is a generic business inbox |
is_free_provider | boolean | Whether the domain is a free email provider (Gmail, Yahoo, etc.) |
is_catch_all | boolean | Whether the domain accepts all emails |
catch_all_confidence | string | Confidence level: high, medium, or low (only if catch-all) |
b2b_outbound_quality | string | B2B value: high, low, or none |
credits_charged | integer | Credits charged (0 or 1) |
charge_reason | string | Explanation of credit charge |
validation_layer | string | Layer where validation stopped: syntax, dns, smtp, catchall |
smtp_response | string | Raw SMTP server response (if applicable) |