One key for 65+ GTM endpoints.
REST + MCP.
https://api.richapi.ai/api/v1/{endpoint} with x-api-key. Endpoint pricing is explicit (per call or per result), with an execution log on every waterfall call. 100 free credits, no card.
RichAPI is a GTM data API: 65+ REST endpoints behind one key, each one also an MCP tool. LinkedIn profile/company enrichment (1 credit), people search (0.1 credit/result), email finder (5 credits/call), phone finder (25 credits/call), email verifier, post signals, web intelligence, AI enrich. Base URL api.richapi.ai/api/v1, header x-api-key. 100 free credits.
Quickstart
First 200 OK in five minutes.
# 1. Key (100 free credits, no card): app.richapi.ai/auth/sign-up
export RICHAPI_KEY="rk_live_..."
# 2. First call — enrich a profile (1 credit)
curl -X POST https://api.richapi.ai/api/v1/enrich_profile \
-H "x-api-key: $RICHAPI_KEY" -H "Content-Type: application/json" \
-d '{"url": "https://www.linkedin.com/in/jane-example"}'
# 3. What did that cost? (free)
curl https://api.richapi.ai/api/v1/usage -H "x-api-key: $RICHAPI_KEY"Auth
One header on every request
Header x-api-key: rk_live_... on every request. One key per workspace, both protocols. OAuth (Claude connectors) auto-provisions the same key. Rotate in dashboard.
Billing
Fixed credit costs, always.
Three models, all deterministic.
| Model | Endpoints | Rule |
|---|---|---|
| Per call | email_finder, phone_finder, email_verifier, enrichment/web/signal endpoints | Flat credits per successful call |
| Per result | people_search, linkedin_company_search | Credits × results returned |
| Base + per result | lead_search | 10 base + 0.5 × results returned |
| Free | inquiries, usage, health | 0 |
| Endpoint | Billing model | Credits |
|---|---|---|
email_finder | Per call | 5 |
phone_finder | Per call | 25 |
email_verifier | Per call | 2 |
people_search | Per result | 0.1 |
lead_search | Base + per result | 10 + 0.5 per result |
Use endpoint-specific pricing for exact charge math; execution_log and usage endpoints show what ran and what was billed.
Waterfall response shape
What a waterfall response looks like
{
"success": true,
"result": { "email": "john.doe@acme.com", "email_status": "valid" },
"provider": "provider_a",
"providers_tried": 2,
"execution_log": [
{ "provider": "provider_b", "status": "no_result", "latency_ms": 410 },
{ "provider": "provider_a", "status": "success", "latency_ms": 342 }
]
}Miss shape: "success": false, "billed": false, full execution_log. Email and phone lookups that find nothing cost nothing. Input flexibility on email_finder: name+domain, or full_name, or linkedin_url — the engine routes by what's present.
Endpoint catalog
By category. Each links to app.richapi.ai/docs.
enrich_profile · enrich_company · enrich_profiles_bulk · enrich_companies_bulk · find_linkedin_url_by_email · find_linkedin_url_by_name · find_website_by_company_name · find_personal_email
people_search · linkedin_company_search · lead_search · linkedin_company_employees_search · profile_search · geo_id_search · search_reference_data
post_keyword_search · post_details · post_activities · profile_activities · linkedin_company_posts · linkedin_job_search · linkedin_job_detail
email_finder · email_verifier · phone_finder · email_finding (bulk jobs) · email_verification (bulk jobs) · free inquiry endpoints for both
web_scrape · web_meta_tags · web_json_ld · web_pixels · web_social_links · web_tech_stack · web_emails · web_sitemap · website_intelligence · Google Maps/Search/Trends + Bing scrapers · crunchbase-company-scraper-sync · directory_yellowpages · YouTube (search/video/channel/channel_videos) · slack_channel_members
ai_enrich (OpenAI, Anthropic, Gemini: 2cr · provider selected per request)
clean_domain · predict_gender · identify_email_type · normalize_list · find_sitemap_urls · encode_uri · count_occurrences · more
usage (free) · history · my-endpoints · webhooks management
Bulk jobs + webhooks
Send arrays, get jobs back
email_finding and email_verification accept arrays and run as jobs: poll the free inquiry endpoint, or register a webhook. Webhook payloads are HMAC-signed (X-RichAPI-Signature); verification snippet in docs. White-label signatures available on Enterprise.
MCP
The same key works over MCP
Endpoint https://mcp.richapi.ai/mcp · 65+tools, namespaced richapi_* · same key and credit pool · OAuth via claude.ai connectors or x-api-keyheader via shim. Tool list is what your client shows — we don't inflate the count. Per-client install: richapi.ai/mcp.
MCP install guideErrors
Failed calls are never billed.
| Code | Meaning | Billed? |
|---|---|---|
| 200 | Success (check success + billed fields for endpoint outcomes) | per rules above |
| 400/422 | Bad request / validation | no |
| 401 | Bad or revoked key | no |
| 402 | Credits exhausted — buy or enable auto top-up | no |
| 429 | Rate limit (per endpoint) — Retry-After | no |
| 5xx | Our fault — retry with backoff | no |
Failed calls are never billed. Rate-limit slots refund on failure.
Clients
curl, OpenAPI and Postman.
Every endpoint works over plain HTTP with curl. The OpenAPI spec (app.richapi.ai/api/openapi) generates a client in any language, and a Postman collection with the same endpoints is in the app after you sign up.
Example
Prospect pipeline in ~25 lines.
import os, requests
S = requests.Session()
S.headers.update({"x-api-key": os.environ["RICHAPI_KEY"]})
BASE = "https://api.richapi.ai/api/v1"
# 1. Who's posting about our topic this week?
posts = S.post(f"{BASE}/post_keyword_search",
json={"keywords": "revops hiring", "datePosted": "past-week"}).json()
# 2. Enrich authors (1 credit each)
profiles = [S.post(f"{BASE}/enrich_profile", json={"url": p["author_url"]}).json()
for p in posts["results"][:20]]
# 3. Find emails (5 credits/call)
for p in profiles:
r = S.post(f"{BASE}/email_finder", json={
"first_name": p["firstname"], "last_name": p["lastname"],
"domain": p["company_domain"]}).json()
if r.get("success"):
print(p["firstname"], r["result"]["email"], "via", r["provider"])/llms.txt
The whole API in one text file
# RichAPI
> GTM data API: 65+ endpoints, one key, REST + MCP. Explicit endpoint billing.
- REST: https://api.richapi.ai/api/v1/{endpoint} (header: x-api-key)
- MCP: https://mcp.richapi.ai/mcp (65+ tools)
- Billing: credits. Endpoint rates are per call or per result.
- Free: 100 sandbox credits, inquiry + usage endpoints.
- Docs: app.richapi.ai/docs · OpenAPI: app.richapi.ai/api/openapi · Status: status.richapi.aiStatus & changelog
Status, changelog, and disclosures
status.richapi.ai (public incident history) · app.richapi.ai/docs/changelog (versioned) · GitHub: github.com/richapiai · security@richapi.ai for disclosures.