Skip to content

Village

The Social Capital API

ProductivitySales & CRM

Connect it

In Keystile Automations → Connections → New connection, choose Village and sign in. Your AI tools and workflows then use it through Keystile; they never see the password or key.How connecting works.

Try it from your AI tool

Using Keystile, in Village: check company paths (Quickly check if you have connections to a company without fetching full details. Returns whether paths exist, an overall score, count of reachable people, and avatar thumbnails).

What it can do (40 actions)

ActionWhat it doesChanges data
Add items to listAdd people or companies to a list. Each identifier is resolved (LinkedIn URLs, company domains, emails, or graph IDs) and added. Returns detailed results per item.Yes
Check Company PathsQuickly check if you have connections to a company without fetching full details. Returns whether paths exist, an overall score, count of reachable people, and avatar thumbnails.
Check list membershipCheck which lists contain the given entities. Returns a map of entity_id to the lists that contain it. Entities not in any list are omitted.
Create a listCreate a new list to organize people or companies. The creator becomes the list owner. List creation may be limited based on your subscription plan.Yes
Create or Update GroupCreate a new group or update an existing one. To create: provide a name (id is auto-generated). To update: provide group_id (requires admin permissions).Yes
Create or Update TeamCreate or update a team. The team ID is derived from the team name; repeated calls with the same name update the same team (requires admin permissions on update).Yes
Delete a listPermanently delete a list and all its items. This action cannot be undone.
Enrich CompanyGet detailed information about a company by domain, LinkedIn URL, or any URL. Returns name, website, LinkedIn URL, logo, employee count, industry, founded year, and description.
Enrich Company (Bulk)Get detailed information for up to 10 companies in a single request. Each result contains either company data or an error.
Enrich PersonGet detailed profile information (name, headline, current company, location, photo, LinkedIn URL) for a person identified by LinkedIn URL or generic URL.
Enrich Person (Bulk)Get detailed profile information for up to 10 people in a single request. Partial results are returned if some lookups fail — check each result for success or error status.
Enrich Person EmailFind the email address for a person by LinkedIn URL or generic URL. Returns the verified email address if found, or null if unavailable.
Enrich Person Email (Bulk)Find email addresses for up to 10 people in a single request. Returns email addresses where found, with error messages for failed lookups.
Get a listGet a list with all its items. Returns the list metadata plus paginated items. For people lists, items are sorted by connection strength (warmth score).
Get App InformationGet information about the partner application associated with your token — title, description, domain, logo URL, public key, and active flag. Useful for verifying your app configuration.
Get Company PathsFind introduction paths to people at a specific company. Returns up to 50 employees you can reach through your network, ranked by connection strength.
Get Current UserGet profile information for the authenticated user — id, email, name, account creation date, sync completion status, and active flag. Useful for verifying auth and checking whether the user's network data is ready.
Get Person PathsFind introduction paths to reach a specific person through your professional network. Provide a LinkedIn URL and get back direct connections, mutual contacts, and connection strength scores (0-100).
Get Person Paths (Bulk)Find introduction paths to multiple people in a single request. Provide up to 100 LinkedIn IDs (the slug after linkedin.com/in/) and get connection paths for each.
Import RelationshipsImport manual relationships to expand your network graph — useful for adding people you know but aren't connected to digitally. Provide email addresses or LinkedIn URLs with optional scores (0-10); higher scores indicate stronger relationships. Max 1000 per request.Yes
Join GroupJoin a group using an invite link. Once joined, you gain access to the shared network of all group members.Yes
Join TeamJoin a team using an invite link. Provide the invite link code (the part after /join/ in the URL).Yes
Leave GroupLeave a group you are a member of. If you are the last member, the group is deleted. Admins must remove all other members before leaving.
Leave TeamLeave a team you are a member of. If you are the last member of a non-paid team, the team is deleted. Admins of paid teams cannot leave — use Cancel Plan instead.
List all listsGet all your saved lists of people or companies. Supports pagination, filtering by type, and searching by title.
List CompaniesGet your top-connected companies ranked by network strength. Returns a paginated list with connection score, label, LinkedIn URL, domain, and enrichment data.
List Gmail IntegrationsGet all your connected Gmail integrations, including rate limits, timezone, the default sending account, and whether you can add more based on your plan.
List GroupsGet all groups (communities) you are a member of. Groups allow members to share network access with each other, expanding everyone's reach.
List PeopleGet your network contacts ranked by connection strength. Returns a paginated list with enrichment data, supporting cursor-based pagination and optional connection-degree filtering.
List TeamsGet all teams you are a member of. Each team includes id, name, logo, invite_link, and an is_admin flag indicating your admin status.
Refresh CompaniesRefresh/import company data from LinkedIn URLs or domains. Realtime mode returns enriched data synchronously (or times out after 25s); async mode returns job IDs for later status checking. At least one of linkedin_urls or domains must be provided.Yes
Refresh PeopleRefresh or import people data from LinkedIn URLs. In realtime mode, returns enriched person data immediately (or times out after 25 seconds and converts to async). In async mode, returns job IDs for later status checking.Yes
Remove items from listRemove items from a list by their item IDs (obtained from get_list). Returns the count of successfully removed items.Yes
Reset IntegrationTrigger a full resync of a Google or LinkedIn integration. Clears sync cursors and re-imports all contacts/calendar data; all graph operations use MERGE so it is fully idempotent.Yes
Search CompaniesSearch for companies using natural language (in the "prompt" field) and/or structured filters. Returns matching companies with relevance and connection-strength scores; supports cursor-based pagination.
Search PeopleSearch for people using natural language queries. Pass your search text in "prompt" (e.g. "engineers at Google"). Supports cursor-based pagination and structured filters.
Sort CompaniesRank a list of companies (up to 100 LinkedIn URLs or domains) by how well-connected you are to people there. Each result includes a score, label, LinkedIn URL, and domain.
Sort PeopleRank a list of LinkedIn profile URLs by how well-connected you are to them. Returns each person sorted by connection strength (highest first), with score (0-100) and score_label.
Update a listUpdate a list's metadata. Provide at least one of: title or description. The list type cannot be changed after creation.Yes
Update Gmail IntegrationUpdate settings for a connected Gmail integration — adjust rate limits, timezone, status, or set as the default sending account. Provide only the fields you want to change.Yes

How Keystile protects it

Every Village action is checked before it runs, whether it comes from an AI tool or a workflow. 13 of its actions change data; your rules, limits and budgets decide whether each is allowed, held for a person or stopped, and it all goes into the signed record.

Use Village with your AI assistant — safelyClaude, Cursor or ChatGPT do the work; Keystile checks every action first.
Get early access

← All apps