Surfe searches multiple verified data sources to find the most accurate information available. But the quality of what you get back depends heavily on the quality of what you send in. Here's how to get the best possible results from every enrichment request.
Provide as Much Information as Possible
The more data you give Surfe to work with, the higher your find rate will be. At minimum you need a first name, last name and one of the following:
LinkedIn URL
Company domain
Company name
The best combination is:
{
"firstName": "David",
"lastName": "Chevalier",
"companyDomain": "surfe.com",
"companyName": "Surfe",
"linkedinUrl": "https://www.linkedin.com/in/david-maurice-chevalier"
}
Providing all five fields gives Surfe the best chance of finding the right person with verified data.
π‘ Tip: LinkedIn URL is a Strong Identifier
If you have a person's LinkedIn URL, always include it. In our experience it's one of the most reliable ways to uniquely identify a person and can significantly improve your find rate compared to name and company alone.
Use Accurate Company Domains
When enriching people, use the company's root domain rather than a subdomain or full URL:
β
surfe.com
β www.surfe.com
β https://surfe.com
β app.surfe.com
For company enrichment, each domain must be a valid Fully Qualified Domain Name or Hostname.
β See: API - Enrich Companies
Use externalID to Match Results to Your Records
Always include an externalID β your own internal identifier for each person or company. Surfe returns this alongside the enrichment results, making it easy to match data back to your CRM or database without any complex lookup logic.
{
"firstName": "David",
"lastName": "Chevalier",
"companyDomain": "surfe.com",
"externalID": "your-crm-id-123"
}
π‘ Tip: Only Request the Data You Need
When starting an enrichment, use the include object to specify exactly what data you want. Being selective helps keep your credit usage efficient.
"include": {
"email": true,
"mobile": false,
"linkedInUrl": false
}Set
email: trueto request email addresses β uses email creditsSet
mobile: trueto request mobile numbers β uses mobile creditsYou must include at least one field set to true
Understand What "Not Found" Means
If an enrichment completes with a NOT_FOUND status, it means Surfe searched its verified sources and couldn't find data for that person. This is not an error β it's expected behaviour for some records.
Importantly β you are not charged credits for NOT_FOUND results. Credits are only consumed when data is successfully found.
Use Webhooks to Get Results Instantly
Rather than polling for results, set up webhooks to be notified the moment each enrichment completes. This is especially important for large batches where polling would be impractical.
β See: API - Webhooks
Check Your Credit Balance Before Large Jobs
Before running a large enrichment batch, check your credit balance using the Get Credits endpoint to make sure you have enough email and mobile credits available.
β See: API - Get Credits
Need Help?
If you're getting lower find rates than expected or have questions about improving your results, reach out to our support team via Intercom.
