Full-text search
The/search endpoint searches across Function, Class, and Variable nodes by name, docstring, and source code, then falls back to raw file content line-by-line if no symbol matches are found. Results are ranked by relevance score and include the type, name, file path, and line number.
Filter by repository
Addrepo_owner and repo_name query parameters to restrict results to a single repository:
Find a specific function, class, or variable
Use the CodeFinder endpoints when you know the exact (or approximate) name of the symbol you want.Find a function
fuzzy=true to match partial names (for example, get_user matches get_user_by_id and get_user_profile). Omit it or set it to false for an exact name match.
Find a class
Find a variable
Peek at file content
After finding a match by line number, use the peek endpoint to read the surrounding lines without fetching the entire file. This keeps responses fast even for large files.above and below parameters control how many lines to show on each side of the anchor line (maximum 200 each). The response flags the anchor line with "is_anchor": true so you can highlight it in your interface.
Semantic search
When full-text search isn’t enough — for example, when you want to find code by intent rather than by name — use semantic search. BugViper embeds your query and returns nodes ranked by cosine similarity from Neo4j vector indexes.Search by raw file content
The line search endpoint searches raw file content line-by-line and returns the matching lines with their file paths. This is useful for finding string literals, comments, or patterns that are not stored as named symbols.path and line_number with the peek endpoint to read context around any match.