Skip to main content

How to set up Surfe

Authentication

Surfe uses API key authentication:
  1. Sign up at surfe.com
  2. Generate an API key at app.surfe.com/settings/api
  3. Paste the API key in Cargo when connecting
Code slugs — integration slug: surfe. Actions: searchPeople, searchCompanies, enrichPerson, enrichCompany. Call them as integrations.surfe.<action>(...).
Cargo spreads requests at up to 10 calls per second against the Surfe API.

Surfe actions

Search people

Search for people based on persona filters like job titles, seniority, departments, and company criteria. Optional fields:
  • People filters: Job titles (semantic matching, e.g. “CTO” matches “Chief Technology Officer”), Exact job titles, Seniorities, Departments, Countries, Countries excluded
  • Company filters: Domains, Domains excluded, Company names, Industries, Industries excluded, Company countries, Employee count from/to, Keywords, Keywords excluded, Technologies, Technologies excluded
  • People per company: Limits the number of people returned per company (1-5). Ignored if filters beyond domain/name are used
  • Limit: Maximum number of results to return. Defaults to 10, max 200
Use case: Build lists of decision-makers matching your persona at target accounts.

Search companies

Search for companies based on ICP filters like industry, employee count, revenue, technologies, and more. Optional fields:
  • Company filters: Domains, Domains excluded, Company names, Industries, Industries excluded, Countries, Employee count from/to, Revenue from/to, Keywords, Keywords excluded, Technologies, Technologies excluded, Year founded from/to, NAICS codes, NAICS codes excluded
  • Limit: Maximum number of results to return. Defaults to 10, max 200
Use case: Source companies that match your ICP for list building and territory planning.

Enrich person

Enrich a person with email, mobile phone, LinkedIn profile, and job history data. Provide at least a first name/last name or a LinkedIn URL. Optional fields:
  • First name: Person’s first name
  • Last name: Person’s last name
  • Company name: Name of the company the person works at
  • Company domain: Domain of the company (e.g., surfe.com)
  • LinkedIn URL: Person’s LinkedIn profile URL
  • Include email: Whether to include email in enrichment results (default: on)
  • Include mobile: Whether to include mobile phone in enrichment results (default: on)
  • Include LinkedIn URL: Whether to include LinkedIn URL in enrichment results (default: off)
  • Include job history: Whether to include job history in enrichment results (default: off)
Enrichment runs asynchronously: Surfe processes the request and calls Cargo back via webhook (the run waits up to 120 minutes). Use case: Get verified emails and mobile numbers for prospects in an enrichment waterfall.

Enrich company

Enrich a company with firmographics data including address, employee count, revenue, industry, and more. Required fields:
  • Company domain: The company’s domain (e.g., surfe.com). Must be a valid Fully Qualified Domain Name or Hostname
Enrichment runs asynchronously via webhook, like Enrich person (the run waits up to 120 minutes). Use case: Enrich accounts with firmographics, funding rounds, and digital presence before scoring or routing.

Best practices

  • For person enrichment, a LinkedIn URL gives the most reliable match; otherwise provide first name + last name plus a company hint
  • Only enable the enrichment data points you need (email, mobile, job history) — toggles map directly to what Surfe returns
  • Combine Search companiesSearch peopleEnrich person to go from ICP to contactable leads in one workflow
  • Enrichment actions are asynchronous — expect runs to stay in a waiting state until Surfe’s webhook responds