User Fields
Complete reference for all searchable and filterable fields in user search.
This page documents all fields available for filtering and searching users.
Field Overview
Section titled “Field Overview”User search uses BM25 full-text search with field-level weighting. The search automatically queries across multiple weighted fields and ranks results by keyword relevance.
Search Field Weights
Section titled “Search Field Weights”| Field | Weight | Description |
|---|---|---|
emails | 3x | Email addresses (highest precision) |
login | 2x | Username |
displayName | 1x | Display name |
bio | 1x | User bio |
company | 1x | Company name |
location | 1x | User-provided location |
Complete Field Reference
Section titled “Complete Field Reference”| Field | Type | Filterable | FTS | Description |
|---|---|---|---|---|
githubId | string | Yes | No | Unique node ID |
login | string | Yes | Yes (2x) | Username |
displayName | string | Yes | Yes | Display name |
bio | string | Yes | Yes | User bio |
company | string | Yes | Yes | Company name |
location | string | Yes | Yes | Raw location (user-provided) |
websiteUrl | string | No | No | Personal website |
socialAccounts | string | No | No | Social accounts (JSON) |
emails | string | Yes | Yes (3x) | Email addresses |
resolvedCountry | string | Yes | Yes | Parsed country |
resolvedState | string | Yes | Yes | Parsed state/region |
resolvedCity | string | Yes | Yes | Parsed city |
createdAt | datetime | Yes | No | Account creation date |
updatedAt | datetime | Yes | No | Last profile update |
Legend:
- Filterable: Can be used with filter operators
- FTS: Included in full-text search (weight shown if >1x)
Field Details
Section titled “Field Details”Identifiers
Section titled “Identifiers”githubId
Section titled “githubId”- Type: string
- Example:
"U_kgDOAx..." - Operators:
Eq,In,NotIn
The unique node ID for the user.
- Type: string
- Example:
"torvalds","gaearon" - Operators:
Eq,In,NotIn,Glob,IGlob - FTS Weight: 2x
The username. Has 2x weight in full-text search.
{ "field": "login", "op": "Eq", "value": "torvalds" }displayName
Section titled “displayName”- Type: string (nullable)
- Example:
"Linus Torvalds" - Operators:
Eq,ContainsAllTokens
The user’s display name.
Profile
Section titled “Profile”- Type: string (nullable)
- Example:
"Creator of Linux and Git" - Operators:
ContainsAllTokens
User biography. Use full-text search to find developers with specific skills or interests.
{ "field": "bio", "op": "ContainsAllTokens", "value": "kubernetes cloud native"}company
Section titled “company”- Type: string (nullable)
- Example:
"Google","@meta" - Operators:
Eq,In,ContainsAllTokens
Company affiliation. Note: users may format this differently (e.g., "@google", "Google Inc.").
{ "field": "company", "op": "In", "value": ["Google", "Meta", "Apple"] }Location Fields
Section titled “Location Fields”User location is available in two forms:
- Raw location (
location) - User-provided, unprocessed - Resolved location (
resolvedCountry,resolvedState,resolvedCity) - Parsed and normalized
location
Section titled “location”- Type: string (nullable)
- Example:
"Portland, OR","San Francisco Bay Area" - Operators:
Eq,ContainsAllTokens
Raw location as entered by the user. Can have many variations.
resolvedCountry
Section titled “resolvedCountry”- Type: string (nullable)
- Example:
"United States","Germany","Japan" - Operators:
Eq,In,ContainsAllTokens
Normalized country name.
{ "field": "resolvedCountry", "op": "ContainsAllTokens", "value": "United States"}resolvedState
Section titled “resolvedState”- Type: string (nullable)
- Example:
"California","Oregon","Texas" - Operators:
Eq,In,ContainsAllTokens
Normalized state or region.
{ "field": "resolvedState", "op": "Eq", "value": "California" }resolvedCity
Section titled “resolvedCity”- Type: string (nullable)
- Example:
"San Francisco","Seattle","Austin" - Operators:
Eq,In,ContainsAllTokens
Normalized city name. Always use ContainsAllTokens for best results.
{ "field": "resolvedCity", "op": "ContainsAllTokens", "value": "San Francisco" }Contact
Section titled “Contact”emails
Section titled “emails”- Type: string (nullable, JSON array)
- Example:
"[\"user@company.com\", \"user@gmail.com\"]" - Operators:
ContainsAllTokens - FTS Weight: 3x
Email addresses as a JSON string array. Has highest weight (3x) in full-text search.
{ "field": "emails", "op": "ContainsAllTokens", "value": "@google.com" }Find users by email domain:
{ "field": "emails", "op": "ContainsAllTokens", "value": "@anthropic.com" }websiteUrl
Section titled “websiteUrl”- Type: string (nullable)
- Not searchable or filterable
User’s personal website URL.
Temporal
Section titled “Temporal”createdAt
Section titled “createdAt”- Type: datetime
- Operators:
Gt,Gte,Lt,Lte
When the account was created.
{ "field": "createdAt", "op": "Gte", "value": "2015-01-01T00:00:00Z" }updatedAt
Section titled “updatedAt”- Type: datetime
- Operators:
Gt,Gte,Lt,Lte
When the profile was last updated.
Common Filter Patterns
Section titled “Common Filter Patterns”Developers in a City
Section titled “Developers in a City”Always use ContainsAllTokens for location fields to handle formatting variations:
{ "field": "resolvedCity", "op": "ContainsAllTokens", "value": "San Francisco" }Developers at Specific Companies
Section titled “Developers at Specific Companies”{ "op": "Or", "filters": [ { "field": "company", "op": "Eq", "value": "Google" }, { "field": "company", "op": "Eq", "value": "Meta" }, { "field": "emails", "op": "ContainsAllTokens", "value": "@google.com" } ]}Developers in US Tech Hubs
Section titled “Developers in US Tech Hubs”{ "op": "And", "filters": [ { "field": "resolvedCountry", "op": "ContainsAllTokens", "value": "United States" }, { "op": "Or", "filters": [ { "field": "resolvedCity", "op": "ContainsAllTokens", "value": "San Francisco" }, { "field": "resolvedCity", "op": "ContainsAllTokens", "value": "Seattle" }, { "field": "resolvedCity", "op": "ContainsAllTokens", "value": "New York" }, { "field": "resolvedCity", "op": "ContainsAllTokens", "value": "Austin" } ] } ]}Developers with Specific Skills
Section titled “Developers with Specific Skills”Combine query keywords with bio filtering:
await client.searchUsers.search({ query: "rust systems programming", filters: { field: "bio", op: "ContainsAllTokens", value: "rust", },});Developers at AI Companies
Section titled “Developers at AI Companies”{ "op": "Or", "filters": [ { "field": "emails", "op": "ContainsAllTokens", "value": "@openai.com" }, { "field": "emails", "op": "ContainsAllTokens", "value": "@anthropic.com" }, { "field": "company", "op": "Eq", "value": "DeepMind" } ]}Experienced Developers (Account Age)
Section titled “Experienced Developers (Account Age)”{ "field": "createdAt", "op": "Lte", "value": "2015-01-01T00:00:00Z"}Search vs Filter
Section titled “Search vs Filter”When to Use Search Query
Section titled “When to Use Search Query”Use the search query parameter for:
- Skills and technologies:
"typescript react engineer" - Job roles:
"senior backend developer" - Expertise areas:
"machine learning"
When to Use Filters
Section titled “When to Use Filters”Use filters for:
- Exact constraints: company name, location
- Geographic targeting:
resolvedCity,resolvedCountry - Email domain:
emailswithContainsAllTokens
Best Practice: Combine Both
Section titled “Best Practice: Combine Both”await client.searchUsers.search({ // Semantic query for skills query: "kubernetes infrastructure engineer",
// Filters for constraints filters: { op: "And", filters: [ { field: "resolvedCity", op: "ContainsAllTokens", value: "San Francisco", }, { field: "company", op: "In", value: ["Google", "Meta", "Amazon"] }, ], },
maxResults: 50,});Best Practices
Section titled “Best Practices”- Use resolved location fields - More reliable than raw
locationfield - Use ContainsAllTokens for text - Handles variations in spelling and formatting
- Use email domains for company targeting - More reliable than
companyfield - Combine search with filters - Query for skills, filter for constraints
- Search is keyword-based - Use specific terms that appear in profiles