Loading homepage
BioContext7 provides a REST API for searching bioinformatics tools, fetching documentation snippets, and comparing tools programmatically.
https://biocontext7.comAll endpoints are relative to this base URL. Responses are JSON unless otherwise noted.
Public website endpoints use per-IP token bucket throttles. Current burst limits are shown on each endpoint card. When rate limited, the API returns 429 Too Many Requests with a Retry-After header indicating seconds until the next request is allowed. Plan-level quotas and account allowances are published in the API limits section.
The hosted MCP API publishes its interactive OpenAPI explorer on the docs site at docs.biocontext7.com/docs/api-reference. The raw specification is available at docs.biocontext7.com/openapi.yaml.
Endpoints for searching and ranking bioinformatics tools.
/api/searchSearch tools
Search the BioContext7 skill library by name, keyword, domain, or registry.
| Name | Type | Required | Description |
|---|---|---|---|
| q | string | No | Search query (case-insensitive) |
| page | integer | No | Page number (default: 1) |
| sort | string | No | Sort order: "relevance" (default) |
| domain | string | No | Filter by domain (e.g., "Genomics") |
| registry | string | No | Filter by registry (e.g., "biotools", "pypi") |
| organism | string | No | Filter by organism |
| language | string | No | Filter by programming language |
| verified | string | No | Filter verified tools ("true"/"false") |
| Field | Type | Description |
|---|---|---|
| results | Tool[] | Array of matching tools |
| total | integer | Total matching tools across all pages |
| page | integer | Current page number |
| pageSize | integer | Results per page (50) |
GET /api/search?q=star+alignment&page=1/api/rankingsTool rankings
Get ranked bioinformatics tools sorted by usage score. Supports filtering by domain and custom sort fields.
| Name | Type | Required | Description |
|---|---|---|---|
| domain | string | No | Filter by domain (e.g., "Genomics") |
| sortBy | string | No | "rank" (default), "name", "usageCount", "growthPercent" |
| sortDir | string | No | "desc" (default) or "asc" |
| page | integer | No | Page number (default: 1, 10 per page) |
| Field | Type | Description |
|---|---|---|
| results | RankedTool[] | Array of ranked tools |
| total | integer | Total tools matching filter |
| page | integer | Current page number |
| totalPages | integer | Total number of pages |
GET /api/rankings?page=1&sortBy=rank/api/compareCompare tools
Compare 2-4 bioinformatics tools side by side. Tools are identified by registry/id format.
| Name | Type | Required | Description |
|---|---|---|---|
| tools | string | Yes | Comma-separated tool keys (e.g., "biotools/star,biotools/hisat2"). Min 2, max 4. |
| Field | Type | Description |
|---|---|---|
| tools | ToolDetail[] | Full details for each found tool |
| notFound | string[] | Tool keys that could not be resolved |
GET /api/compare?tools=star%2CsamtoolsAccess tool documentation snippets and search across all indexed documentation.
/api/tools/[registry]/[id]/snippetsTool documentation snippets
Fetch documentation snippets for a specific tool. Tries the backend API first, then falls back to pre-exported static snippet files.
| Name | Type | Required | Description |
|---|---|---|---|
| registry | string | Yes | Capability index (biotools, pypi, bioconda, bioconductor, dockstore) |
| id | string | Yes | Tool identifier (alphanumeric with dots, hyphens, underscores) |
| Field | Type | Description |
|---|---|---|
| tool_id | string | Full tool identifier (registry/id) |
| tool_name | string | Tool display name |
| snippets | Snippet[] | Documentation snippets with content and metadata |
| total | integer | Total number of snippets |
| total_tokens | integer | Total token count across snippets |
/api/snippets/searchSearch documentation snippets
Search across all tool documentation snippets. Proxies to the backend API when configured.
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Search query |
| page | integer | No | Page number (default: 1) |
| per_page | integer | No | Results per page (default: 25) |
| Field | Type | Description |
|---|---|---|
| results | SnippetResult[] | Matching documentation snippets |
| total | integer | Total matching snippets |
| total_tokens | integer | Total token count |
| query | string | Echoed search query |
Conversational interface for tool discovery with workflow generation.
/api/chatChat with tool search
Send natural language queries about bioinformatics tools. Returns tool references and workflow examples for common queries.
| Name | Type | Required | Description |
|---|---|---|---|
| message | string | Yes | Chat message (1-2000 characters) |
| sessionId | string | Yes | Session identifier (alphanumeric, 1-128 chars) |
| Field | Type | Description |
|---|---|---|
| reply.id | string | Unique reply ID |
| reply.role | "assistant" | Always "assistant" |
| reply.content | string | Markdown-formatted response |
| reply.tools | ToolReference[]? | Referenced tools with metadata |
| reply.workflows | WorkflowStub[]? | Generated workflow code (Nextflow/Snakemake) |
| remaining | integer | Remaining queries in this session |
Operational endpoints for health monitoring and repository metadata.
/api/healthHealth check
Check connectivity status of upstream services (backend API, bio.tools). Always returns 200 — status field indicates "ok" or "degraded".
| Field | Type | Description |
|---|---|---|
| status | "ok" | "degraded" | Overall system health |
| services.backend_api | ServiceStatus | Backend API connectivity (status, latency_ms, error) |
| services.biotools | ServiceStatus | bio.tools API connectivity (status, latency_ms, error) |
| config.backend_url_configured | boolean | Whether BIOCONTEXT7_API_URL is set |
GET /api/health/api/github/statsGitHub repository stats
Get GitHub repository statistics (stars, forks, watchers). Cached for 1 hour.
| Field | Type | Description |
|---|---|---|
| stars | integer | Star count |
| forks | integer | Fork count |
| watchers | integer | Watcher count |
GET /api/github/statsEndpoints for tool redirects and citation exports.
/api/tools/[registry]/[id]/redirectTool redirect lookup
Check if a tool ID has been renamed or moved. Returns the canonical tool location if a redirect exists.
| Name | Type | Required | Description |
|---|---|---|---|
| registry | string | Yes | Capability index |
| id | string | Yes | Tool identifier |
| Field | Type | Description |
|---|---|---|
| old_id | string | Original tool identifier (registry:id) |
| canonical_id | string | Canonical tool identifier |
| canonical_url | string | URL path to the canonical tool page |
| redirect_type | string | Redirect reason (rename, merge, etc.) |
| hops | integer | Number of redirect hops resolved |
/api/collections/[id]/exportExport collection citations
Export all citations from a tool collection in BibTeX, RIS, or CSL-JSON format. Returns a downloadable file.
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Collection identifier |
| format | string | No | "bibtex" (default), "ris", or "csl-json" |
| Field | Type | Description |
|---|---|---|
| (file) | text/plain | Downloadable citation file with Content-Disposition header |