Prerequisites
Create an account — you’ll get 3 free credits to try the API
Copy your API key from the dashboard
Your API key looks like rapi_live_a1b2c3d4... — keep it secret.
1. Submit a research request
curl -X POST https://api.rapportapi.com/research \
-H "Authorization: Bearer rapi_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contact_data": {
"email": "jane@example.com"
}
}'
Response (202 Accepted):
{
"task_id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
"status" : "pending"
}
2. Poll for results
Research takes ~2-3 minutes. Poll every 4-5 seconds until status is completed or failed.
curl https://api.rapportapi.com/research/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
-H "Authorization: Bearer rapi_live_YOUR_API_KEY"
3. Use the results
When status is completed, the response includes the full intelligence report:
{
"task_id" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
"status" : "completed" ,
"report_url" : "https://rapportapi.com/report?id=a1b2c3d4..." ,
"result" : {
"outreach_intelligence" : {
"icebreakers" : [
{
"angle" : "Marathon Runner" ,
"opening_line" : "I saw you just finished the Chicago Marathon — that's incredible! How long have you been running?" ,
"why_effective" : "Shows genuine interest in a personal achievement outside of work" ,
"confidence" : "HIGH"
}
],
"communication_style" : "Direct and data-driven. Prefers concise messages with clear value propositions..." ,
"topics_to_avoid" : [ "Politics" , "Previous employer litigation" ]
},
"professional" : {
"current_title" : "VP of Sales" ,
"current_company" : "Acme Corp"
},
"personal" : {
"interests" : [ "Marathon running" , "Youth coaching" , "Italian cooking" ],
"hobbies" : [ "Photography" , "Travel" ]
}
}
}
Don’t want to poll? Provide a callback_url in your research request and we’ll POST the results to your server when ready. See Webhooks .
What identifiers can I use?
You need at least one of these:
Identifier Example Notes emailjane@example.comBest starting point linkedin_urlhttps://linkedin.com/in/janedoeUnlocks LinkedIn post analysis full_name + company"Jane Doe" + "Acme Corp"Both required together
Additional fields (phone, title, location, twitter_url) improve enrichment quality but aren’t required.
Test mode
Add "is_test": true to your request to get a dummy completed response without using credits. This is useful for testing your integration end-to-end.
curl -X POST https://api.rapportapi.com/research \
-H "Authorization: Bearer rapi_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contact_data": {
"email": "test@example.com"
},
"is_test": true
}'
The response returns immediately with status: "completed" and a test- prefixed task ID. Poll that task ID to get a realistic dummy intelligence report with sample icebreakers, professional info, and personal interests.
Test requests still require a valid API key for authentication, but no credits are deducted.
Next steps
Authentication API key management and security best practices.
Webhooks Get notified when research completes instead of polling.
Credits Understand how credits and billing work.
API Reference Full request/response schema documentation.