Skip to content
Get started
Operator Reference

Repository Fields

Complete reference for all searchable and filterable fields in repository search.

This page documents all fields available for filtering and searching repositories.

Repository search uses semantic vector search with embeddings. You can combine natural language queries with structured filters to find relevant repositories.

FieldTypeFilterableFTSDescription
githubIdstringYesNoUnique node ID
ownerLoginstringYesNoRepository owner username
ownerLocationstringYesYesOwner’s location
namestringYesNoRepository name
descriptionstringNoYesRepository description
stargazerCountnumberYesNoStar count
languagestringYesNoPrimary programming language
totalIssuesCountnumberYesNoTotal issues (open + closed)
totalIssuesOpennumberYesNoOpen issues count
totalIssuesClosednumberYesNoClosed issues count
readmePreviewstringNoYesREADME excerpt
lastContributorLocationsstring[]YesYesContributor locations array
createdAtdatetimeYesNoRepository creation date
updatedAtdatetimeYesNoLast update date

Legend:

  • Filterable: Can be used with filter operators (Eq, Gte, etc.)
  • FTS: Supports full-text search with ContainsAllTokens
  • Type: string
  • Example: "R_kgDOGx..."
  • Operators: Eq, In, NotIn

The unique node ID for the repository.

  • Type: string
  • Example: "facebook", "microsoft"
  • Operators: Eq, In, NotIn, Glob, IGlob

The username of the repository owner.

{ "field": "ownerLogin", "op": "Eq", "value": "facebook" }
  • Type: string
  • Example: "react", "typescript"
  • Operators: Eq, In, NotIn, Glob, IGlob, Regex

The repository name (without owner prefix).

{ "field": "name", "op": "Glob", "value": "react-*" }
  • Type: number
  • Example: 228000
  • Operators: Eq, Gt, Gte, Lt, Lte

Number of stars on the repository.

{ "field": "stargazerCount", "op": "Gte", "value": 1000 }
  • Type: number
  • Operators: Eq, Gt, Gte, Lt, Lte

Total number of issues (open + closed).

  • Type: number
  • Operators: Eq, Gt, Gte, Lt, Lte

Number of currently open issues.

{ "field": "totalIssuesOpen", "op": "Lte", "value": 50 }
  • Type: number
  • Operators: Eq, Gt, Gte, Lt, Lte

Number of closed issues. Often used as a proxy for activity level.

{ "field": "totalIssuesClosed", "op": "Gte", "value": 100 }
  • Type: string (nullable)
  • Example: "TypeScript", "Python", "Go"
  • Operators: Eq, In, NotIn

Primary programming language. Uses Linguist language names.

{ "field": "language", "op": "In", "value": ["TypeScript", "JavaScript"] }

Common language values:

  • TypeScript, JavaScript, Python, Go, Rust, Java, C++, C#, Ruby, PHP, Swift, Kotlin
  • Type: string (nullable)
  • FTS Only: Yes
  • Operators: ContainsAllTokens

Repository description. Use full-text search to find keywords.

{
"field": "description",
"op": "ContainsAllTokens",
"value": "react component library"
}
  • Type: string (nullable)
  • FTS Only: Yes
  • Operators: ContainsAllTokens

Excerpt from the repository README. Useful for finding projects by technology stack.

{
"field": "readmePreview",
"op": "ContainsAllTokens",
"value": "kubernetes helm"
}
  • Type: string (nullable)
  • Filterable: Yes
  • FTS: Yes
  • Operators: Eq, ContainsAllTokens

The location of the repository owner.

{
"field": "ownerLocation",
"op": "ContainsAllTokens",
"value": "San Francisco"
}
  • Type: string array
  • Filterable: Yes
  • FTS: Yes
  • Operators: Contains, ContainsAny, ContainsAllTokens

Array of locations from recent contributors. Always use ContainsAllTokens for location searches to handle formatting variations.

{
"field": "lastContributorLocations",
"op": "ContainsAllTokens",
"value": "San Francisco"
}

This matches variations like:

  • “San Francisco, CA”
  • “san francisco”
  • “SF, California”
  • Type: datetime
  • Operators: Gt, Gte, Lt, Lte

When the repository was created.

{ "field": "createdAt", "op": "Gte", "value": "2020-01-01T00:00:00Z" }
  • Type: datetime
  • Operators: Gt, Gte, Lt, Lte

When the repository was last updated.

{ "field": "updatedAt", "op": "Gte", "value": "2024-01-01T00:00:00Z" }
{
"op": "And",
"filters": [
{ "field": "language", "op": "Eq", "value": "TypeScript" },
{ "field": "stargazerCount", "op": "Gte", "value": 1000 }
]
}
{
"op": "And",
"filters": [
{ "field": "totalIssuesClosed", "op": "Gte", "value": 100 },
{ "field": "totalIssuesOpen", "op": "Lte", "value": 50 }
]
}
{
"op": "And",
"filters": [
{
"field": "lastContributorLocations",
"op": "ContainsAllTokens",
"value": "San Francisco"
},
{ "field": "language", "op": "Eq", "value": "Python" },
{ "field": "stargazerCount", "op": "Gte", "value": 500 }
]
}
{
"op": "And",
"filters": [
{
"field": "readmePreview",
"op": "ContainsAllTokens",
"value": "kubernetes docker"
},
{ "field": "language", "op": "In", "value": ["Go", "Rust"] }
]
}
{
"op": "And",
"filters": [
{
"field": "language",
"op": "NotIn",
"value": ["HTML", "CSS", "Markdown", null]
},
{ "field": "stargazerCount", "op": "Gte", "value": 50 }
]
}
  1. Use ContainsAllTokens for locations - Handles spelling and formatting variations
  2. Combine semantic search with filters - Use natural language query for intent, filters for constraints
  3. Filter by quality signals - stargazerCount >= 100 filters out low-quality matches
  4. Exclude non-code languages - Filter out HTML, CSS, Markdown for code-focused searches
  5. Use activity metrics - totalIssuesClosed is a good proxy for project maturity