Integrate any tool
Treffer works in any tool that can send an HTTP request. No SDK, no OAuth, no setup on our side. That covers virtually every waterfall and automation tool in your stack.
Every lookup is the same call
-
•
POSTto the endpoint URL, exactly as documented. No trailing slash. -
•
Your API key in the
X-API-Keyheader. -
•
Inputs as a JSON body, with
Content-Type: application/json. - • The response is JSON.
curl -X POST 'https://api.treffer.io/v1/email/finder' \
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"first_name": "Christian",
"last_name": "Hecker",
"domain": "traderepublic.com"
}'
import requests
response = requests.post(
"https://api.treffer.io/v1/email/finder",
headers={"X-API-Key": "YOUR_API_KEY"},
json={
"first_name": "Christian",
"last_name": "Hecker",
"domain": "traderepublic.com",
},
timeout=120,
)
print(response.json())
Endpoints
| Endpoint | URL |
|---|---|
| Company profile |
POST https://api.treffer.io/v1/companies/profile
|
| Email finder |
POST https://api.treffer.io/v1/email/finder
|
| Credit balance |
GET https://api.treffer.io/v1/account/credits
|
Each endpoint page documents its request fields and response fields.
Reading the response
A hit and a miss both return HTTP 200. found is true on a hit
and false on a miss, and a miss costs 0 credits. Every response key is always present, so your
field mappings never break: a miss fills the data fields with null.
That makes fallback chains in waterfalls simple: run your next provider only when
found is false. A miss along the way costs nothing.
Timeouts
Lookups run against live sources and can take up to 90 seconds. Set the timeout in your tool to at least 120 seconds.
Limits and errors
Limits are per API key and endpoint, see rate limits. If your tool can throttle requests, set it from those numbers. Everything that is not a 200 uses one flat error shape, see errors.