Overview
The Keyplay API allows you to enrich your CRM data by connecting directly with our service. This documentation provides technical details for developers who wish to make direct API calls without using an iPaaS solution.
Base URL
<https://api.keyplay.io/enrich>
Query Parameters
When making a request to the Keyplay API, the following query parameters are supported:
domain (required): The domain of the company you want to enrich. This should be pulled from your CRM.
key (required): Your API key generated from your Keyplay account.
webhookUrl (required): The webhook URL where the API response will be sent. This should be generated from your iPaaS tool or another endpoint capable of receiving callbacks.
crmId (optional): The CRM ID of the record you want to enrich. If this parameter is provided, it allows the creation of a Keyplay Account for the provided domain (note that the corresponding API option must be enabled). If using Salesforce, the CRM ID must be the full 18-character ID.
Example Request
GET <https://api.keyplay.io/enrich?domain=example.com&key=your_api_key&webhookUrl=https://yourwebhookurl.com>
Rate Limiting
To ensure your API calls are processed without being dropped, it is recommended to stay under 5 requests per second.
Headers
No additional headers are required for the API request.
Response
The API will POST a JSON payload to the specified webhook URL.
Example Payload
{ "inputDomain": "asana.com", "crmId": undefined, "signalScore": 66.67, "similarityScore": 83.8, "overallFit": 100, "momentumScore": 0.09, "tier": "A", "isInSam": true, "audience": ["B2B"], "primaryCategory": ["SaaS & Cloud"], "secondaryCategory": [ "Collaboration & Productivity", "Workflow Automation", "Data/Analytics/BI" ], "keyplayStatus": "Ok", "orgSignals": ["Hiring Hybrid Roles"], "profileSignals": [], "relevanceSignals": ["Remote Workplace"], "stackFitSignals": ["Microsoft Azure", "GCP", "GitHub"], "fields": { "finalDomain": "asana.com", "finalLinkedIn": "<https://www.linkedin.com/company/asana>", "jobBoardURL": "<https://asana.com/jobs/all>", "openRolePercentage": 0.02, "recruitingVelocity": 28.65, "trafficRank": 2400, "employeeCount": 3534, "followerCount": 411558, "hqCity": "San Francisco", "hqCountry": "US", "hqPostalCode": "94107", "hqState": "California", "locationCities": [ "New York", "Vancouver", "Sydney", "Dublin 2", "London", "Munich", "Chiyoda-ku, Tokyo", "Singapore" ], "locationCount": 8, "locationCountries": [ "US", "CA", "AU", "IE", "GB", "DE", "JP", "SG" ], "locationStates": [ "NY", "British Columbia", "New South Wales", "County Dublin", "Bavaria" ], "name": "Asana", "stockTicker": "NYSE:ASAN", "linkedInLogoUrl": "<https://media.licdn.com/dms/image/D4E0BAQEkMiCf0h2oeA/company-logo_400_400/0/1711542643480/asana_logo?e=1725494400&v=beta&t=Ub0Mdmm8-SuSrzs8k5oo0GcNPlD0UgbBuAe3hjtpWO4>", "hiring": 81, "hiringEng": 28, "hiringSales": 34, "hiringSoftwareEng": 17, "oneMonthFollowerChange": 0.05, "oneMonthHeadcountGrowth": 0.04, "oneMonthLinkedInAdsChange": 0.12, "oneMonthOpenRolesChange": -0.15, "oneMonthRecruitingVelocityChange": -0.18, "oneMonthTotalFundingChange": 0, "oneMonthHiringCustomerSuccessChange": 0.17, "oneMonthHiringEngChange": -0.1, "oneMonthHiringFinanceChange": -0.25, "oneMonthHiringHRChange": null, "oneMonthHiringMarketingChange": -0.5, "oneMonthHiringProductChange": -0.27, "oneMonthHiringSalesChange": 0.21, "sixMonthGrowth": 0.18, "lastFundingDate": "2020-08-15", "totalFundingRaised": 453200000 } }
Error Handling
In case of errors, the API will return a 400 response with the error details.
{ "error": { "message": "Invalid domain: peersignal", "code": "api" } }
Best Practices
Request Throttling: Implement request throttling to maintain a rate below 5 requests per second.
Error Handling: Handle and log error responses for troubleshooting.