evertrace.ai
Connect to evertrace.ai to search and manage talent signals, saved searches, and lists
Connect to evertrace.ai to search and manage talent signals, saved searches, and lists. Access rich professional profiles with scoring, experiences, and education data to power your recruiting and sourcing workflows.
Supports authentication: API Key
Set up the agent connector
Section titled “Set up the agent connector”Register your evertrace.ai API key with Scalekit so it can authenticate and proxy requests on behalf of your users.
-
Generate an evertrace.ai API key
Section titled “Generate an evertrace.ai API key”-
Sign in to evertrace.ai. Go to Settings → API Keys.
-
Create a new API key and copy it. Store it somewhere safe — you will not be able to view it again.
-
-
Create a connection in Scalekit
Section titled “Create a connection in Scalekit”-
In Scalekit dashboard, go to Agent Auth → Create Connection. Find evertrace.ai and click Create.
-
Note the Connection name — you will use this as
connection_namein your code (e.g.,evertrace).
-
-
Add a connected account
Section titled “Add a connected account”Connected accounts link a specific user identifier in your system to an evertrace.ai API key. Add accounts via the dashboard for testing, or via the Scalekit API in production.
Via dashboard (for testing)
-
Open the connection you created and click the Connected Accounts tab → Add account.
-
Fill in:
- Your User’s ID — a unique identifier for this user in your system (e.g.,
user_123) - API Key — the evertrace.ai API key you copied in step 1
- Your User’s ID — a unique identifier for this user in your system (e.g.,
-
Click Save.
Via API (for production)
await scalekit.actions.upsertConnectedAccount({connectionName: 'evertrace',identifier: 'user_123',credentials: { api_key: 'your-evertrace-api-key' },});scalekit_client.actions.upsert_connected_account(connection_name="evertrace",identifier="user_123",credentials={"api_key": "your-evertrace-api-key"}) -
Once a connected account is set up, make API calls through the Scalekit proxy. Scalekit injects the evertrace.ai API key automatically.
import { ScalekitClient } from '@scalekit-sdk/node';import 'dotenv/config';
const connectionName = 'evertrace';const identifier = 'user_123';
const scalekit = new ScalekitClient( process.env.SCALEKIT_ENV_URL, process.env.SCALEKIT_CLIENT_ID, process.env.SCALEKIT_CLIENT_SECRET);const actions = scalekit.actions;
const result = await actions.request({ connectionName, identifier, path: '/signals', method: 'GET',});console.log(result.data);import scalekit.client, osfrom dotenv import load_dotenvload_dotenv()
connection_name = "evertrace"identifier = "user_123"
scalekit_client = scalekit.client.ScalekitClient( client_id=os.getenv("SCALEKIT_CLIENT_ID"), client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"), env_url=os.getenv("SCALEKIT_ENV_URL"),)actions = scalekit_client.actions
result = actions.request( connection_name=connection_name, identifier=identifier, path="/signals", method="GET",)print(result)Tool list
Section titled “Tool list”evertrace_cities_list
Section titled “evertrace_cities_list”Search available cities by name. Returns city name strings sorted by signal count. Use these values in signal filters for the city field.
| Name | Type | Required | Description |
|---|---|---|---|
search | string | No | Case-insensitive partial match on city name (e.g. “san fran”) |
page | string | No | Page number for pagination |
limit | string | No | Number of results per page |
evertrace_companies_list
Section titled “evertrace_companies_list”Search companies by name or look up by specific IDs. Returns company entity IDs (exe_* format) needed for signal filtering by past_companies.
| Name | Type | Required | Description |
|---|---|---|---|
search | string | No | Case-insensitive partial match on company name (e.g. “google”) |
ids | array | No | Look up specific companies by entity ID (exe_* format) |
page | string | No | Page number for pagination |
limit | string | No | Number of results per page |
evertrace_educations_list
Section titled “evertrace_educations_list”Search education institutions by name or look up by specific IDs. Returns institution entity IDs (ede_* format) needed for signal filtering by past_education.
| Name | Type | Required | Description |
|---|---|---|---|
search | string | No | Case-insensitive partial match on institution name (e.g. “stanford”) |
ids | array | No | Look up specific institutions by entity ID (ede_* format) |
page | string | No | Page number for pagination |
limit | string | No | Number of results per page |
evertrace_list_entries_create
Section titled “evertrace_list_entries_create”Add a signal to a list.
| Name | Type | Required | Description |
|---|---|---|---|
list_id | string | Yes | The list ID to add the signal to |
signal_id | string | Yes | The signal ID to add |
evertrace_list_entries_delete
Section titled “evertrace_list_entries_delete”Remove an entry from a list.
| Name | Type | Required | Description |
|---|---|---|---|
list_id | string | Yes | The list ID |
entry_id | string | Yes | The entry ID to remove |
evertrace_list_entries_download
Section titled “evertrace_list_entries_download”Export list entries as a CSV file. Maximum 250 entries per export.
| Name | Type | Required | Description |
|---|---|---|---|
list_id | string | Yes | The list ID to export entries from |
evertrace_list_entries_get
Section titled “evertrace_list_entries_get”Get a single list entry with its full signal profile.
| Name | Type | Required | Description |
|---|---|---|---|
list_id | string | Yes | The list ID |
entry_id | string | Yes | The entry ID |
evertrace_list_entries_list
Section titled “evertrace_list_entries_list”List entries in a list with pagination, sorting, and filtering by screening/viewed status.
| Name | Type | Required | Description |
|---|---|---|---|
list_id | string | Yes | The list ID |
page | string | No | Page number for pagination |
limit | string | No | Number of results per page |
sort_by | string | No | Sort field: “entry_created_at” (when added to list) or “signal_discovered_at” (when signal was discovered) |
sort_order | string | No | Sort direction: “asc” (oldest first) or “desc” (newest first) |
screened_by | array | No | Filter by screening status. Prefix with ”-” to exclude (e.g. [“-me”, “-others”]) |
viewed_by | array | No | Filter by viewed status. Prefix with ”-” to exclude (e.g. [“-me”]) |
evertrace_list_entries_list_by_linkedin_id
Section titled “evertrace_list_entries_list_by_linkedin_id”Get all signals representing the same person as a list entry, matched by LinkedIn ID.
| Name | Type | Required | Description |
|---|---|---|---|
list_id | string | Yes | The list ID |
entry_id | string | Yes | The entry ID |
evertrace_lists_create
Section titled “evertrace_lists_create”Create a new list. Provide user IDs in accesses to share the list with teammates. The creator is automatically granted access.
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name of the new list |
accesses | array | No | Array of user IDs to share this list with. Pass an empty array for private list |
evertrace_lists_delete
Section titled “evertrace_lists_delete”Permanently delete a list and all its entries.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The list ID to delete |
evertrace_lists_get
Section titled “evertrace_lists_get”Get a list by ID with its entries, accesses, and creator information.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The list ID |
evertrace_lists_list
Section titled “evertrace_lists_list”List all lists the current user has access to in evertrace.ai.
evertrace_lists_update
Section titled “evertrace_lists_update”Rename a list.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The list ID to update |
name | string | Yes | New name for the list |
evertrace_screenings_count
Section titled “evertrace_screenings_count”Count how many signals the current user has screened.
evertrace_searches_create
Section titled “evertrace_searches_create”Create a new saved search with filters. Each filter requires a key, operator, and value. Provide sharee user IDs to share the search with teammates.
| Name | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Title of the saved search (max 50 characters) |
visited_at | number | Yes | Epoch timestamp in milliseconds for when the search was last visited |
filters | array | Yes | Array of filter objects. Each filter has: key (e.g. “country”, “industry”, “score”), operator (e.g. “in”), and value |
sharees | array | Yes | Array of user IDs to share this search with |
emoji | string | No | Optional emoji for the saved search |
evertrace_searches_delete
Section titled “evertrace_searches_delete”Permanently delete a saved search.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The saved search ID to delete |
evertrace_searches_duplicate
Section titled “evertrace_searches_duplicate”Duplicate a saved search, creating a copy with the same filters and settings.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The saved search ID to duplicate |
evertrace_searches_get
Section titled “evertrace_searches_get”Get a saved search by ID with its filters and sharees.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The saved search ID |
evertrace_searches_list
Section titled “evertrace_searches_list”List all saved searches accessible to the current user in evertrace.ai.
evertrace_searches_notifications_get
Section titled “evertrace_searches_notifications_get”Count new signals matching a saved search since it was last visited. Use the optional max parameter to cap the count for performance.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The saved search ID |
max | string | No | Optional cap on the count for performance (e.g. “99”) |
evertrace_searches_signals_list
Section titled “evertrace_searches_signals_list”List signals matching a saved search’s filters with pagination.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The saved search ID |
page | string | No | Page number for pagination |
limit | string | No | Number of results per page |
evertrace_searches_update
Section titled “evertrace_searches_update”Update a saved search. All fields are optional — only provided fields are changed. If filters are provided, they replace all existing filters. If sharees are provided, they replace the full access list.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The saved search ID to update |
title | string | No | New title for the saved search (max 50 characters) |
emoji | string | No | New emoji for the saved search |
visited_at | number | No | Epoch timestamp in milliseconds for when the search was last visited |
filters | array | No | Replaces all existing filters. Each filter has: key, operator, value |
sharees | array | No | Replaces the full sharee list with these user IDs |
evertrace_signal_mark_viewed
Section titled “evertrace_signal_mark_viewed”Mark a signal as viewed by the current user.
| Name | Type | Required | Description |
|---|---|---|---|
signal_id | string | Yes | The ID of the signal to mark as viewed |
evertrace_signal_screen
Section titled “evertrace_signal_screen”Screen a signal, marking it as reviewed by the current user. Screened signals are hidden from default views.
| Name | Type | Required | Description |
|---|---|---|---|
signal_id | string | Yes | The ID of the signal to screen |
evertrace_signal_unscreen
Section titled “evertrace_signal_unscreen”Unscreen a signal, making it visible again in default views.
| Name | Type | Required | Description |
|---|---|---|---|
signal_id | string | Yes | The ID of the signal to unscreen |
evertrace_signals_count
Section titled “evertrace_signals_count”Count signals matching the given filters without returning the data. Accepts the same filters as the list endpoint.
| Name | Type | Required | Description |
|---|---|---|---|
time_range | array | No | Absolute date range as [from, to] in YYYY-MM-DD format. Mutually exclusive with time_relative |
time_relative | string | No | Relative time window in days from today (e.g. “30”). Mutually exclusive with time_range |
created_after | string | No | Epoch timestamp in milliseconds. Only counts signals discovered after this point |
score | string | No | Minimum score threshold (1-10) |
fullname | string | No | Free-text search on person name |
type | array | No | Filter by signal type. Valid values: “New Company”, “Stealth Position”, “Left Position”, “New Position”, “Promoted”, etc. |
country | array | No | Filter by country. Prefix with ”!” to exclude |
industry | array | No | Filter by industry vertical. Prefix with ”!” to exclude |
origin | array | No | Filter by nationality/origin country |
region | array | No | Filter by geographic region or US state |
past_companies | array | No | Filter by past employer using company entity IDs (exe_* format) |
past_education | array | No | Filter by past education institution using IDs (ede_* format) |
screened_by | array | No | Filter by screening status. Use “me”, “others”, or user IDs. Prefix with ”-” to exclude |
evertrace_signals_download
Section titled “evertrace_signals_download”Export signals matching the given filters as a CSV file. Maximum 250 signals per export.
| Name | Type | Required | Description |
|---|---|---|---|
time_range | array | No | Absolute date range as [from, to] in YYYY-MM-DD format. Mutually exclusive with time_relative |
time_relative | string | No | Relative time window in days from today (e.g. “30”). Mutually exclusive with time_range |
score | string | No | Minimum score threshold (1-10) |
type | array | No | Filter by signal type |
country | array | No | Filter by country. Prefix with ”!” to exclude |
industry | array | No | Filter by industry vertical |
origin | array | No | Filter by nationality/origin country |
past_education | array | No | Filter by past education institution using IDs (ede_* format) |
page | string | No | Page number for pagination |
limit | string | No | Number of results per page (max 250) |
evertrace_signals_entries
Section titled “evertrace_signals_entries”Get all list entries for a signal. Shows which lists this signal has been added to.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The signal ID |
evertrace_signals_get
Section titled “evertrace_signals_get”Get a single talent signal by ID with full profile details including experiences, educations, taggings, views, and screenings.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The signal ID to retrieve |
evertrace_signals_list
Section titled “evertrace_signals_list”Search and filter talent signals with pagination. Returns full signal profiles including experiences, educations, taggings, views, and screenings.
| Name | Type | Required | Description |
|---|---|---|---|
time_range | array | No | Absolute date range as [from, to] in YYYY-MM-DD format (e.g. [“2026-01-01”, “2026-03-01”]). Mutually exclusive with time_relative |
time_relative | string | No | Relative time window in days from today (e.g. “30”, “60”, “90”). Mutually exclusive with time_range |
created_after | string | No | Epoch timestamp in milliseconds. Only returns signals discovered after this point |
score | string | No | Minimum score threshold (1-10). Acts as a >= filter |
fullname | string | No | Free-text search on person name (case-insensitive partial match) |
profile_tags | array | No | Filter by profile background tags. Valid values: “Serial Founder”, “VC Backed Founder”, “VC Backed Operator”, “VC Investor”, “YC Alumni”, “Big Tech experience”, “Big 4 experience”, “Banking experience”, “Consulting experience” |
type | array | No | Filter by signal type. Valid values: “New Company”, “Stealth Position”, “Left Position”, “Investor Position”, “Board Position”, “New Position”, “Promoted”, “New Patent”, “New Grant” |
country | array | No | Filter by country name (e.g. [“United States”]). Prefix with ”!” to exclude |
gender | array | No | Filter by gender. Valid values: “man”, “woman” |
age | array | No | Filter by age range buckets. Valid values: “Below 25”, “25 to 29”, “30 to 34”, “35 to 39”, “40 to 44”, “45 to 49”, “Above 49” |
past_companies | array | No | Filter by past employer using company entity IDs in exe_* format. Use evertrace_companies_list to look up IDs |
past_education | array | No | Filter by past education institution using IDs in ede_* format. Use evertrace_educations_list to look up IDs |
education_level | array | No | Filter by highest education level. Valid values: “Bachelor”, “Master”, “PhD or Above”, “MBA”, “No university degree” |
customer_focus | array | No | Filter by target market. Valid values: “B2B”, “B2C” |
industry | array | No | Filter by industry vertical (e.g. [“Technology”, “Healthcare”]). Prefix with ”!” to exclude |
origin | array | No | Filter by nationality/origin country (e.g. [“India”]). Prefix with ”!” to exclude |
region | array | No | Filter by geographic region or US state (e.g. [“Europe”, “California”]). Prefix with ”!” to exclude |
city | array | No | Filter by city name (e.g. [“San Francisco”]). Use evertrace_cities_list to search available cities. Prefix with ”!” to exclude |
source | array | No | Filter by data source name. Values are dynamic per workspace |
screened_by | array | No | Filter by screening status. Use “me”, “others”, or user IDs. Prefix with ”-” to exclude |
page | string | No | Page number for pagination |
limit | string | No | Number of results per page |
evertrace_signals_list_by_linkedin_id
Section titled “evertrace_signals_list_by_linkedin_id”Get all signals representing the same person, matched by LinkedIn ID. Useful for finding duplicate or historical signals for the same individual.
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The signal ID to match LinkedIn ID from |
evertrace_views_count
Section titled “evertrace_views_count”Count how many signals the current user has viewed.