Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/string-db-annotation-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: STRING REST Annotation API
description: 'STRING is a protein-protein interaction network database providing scored associations between proteins across thousands of organisms. The REST API enables programmatic access to interaction scores, network visualizations, functional enrichment analysis, homology data, and protein annotations. STRING integrates data from genomic context, co-expression, text mining, biochemical and genetic experiments, and curated databases.
'
version: '12.0'
contact:
name: STRING Consortium
url: https://string-db.org
license:
name: Creative Commons Attribution
url: https://string-db.org/cgi/access?footer_active_subpage=licensing
termsOfService: https://string-db.org/cgi/info?footer_active_subpage=cookies
servers:
- url: https://string-db.org
description: STRING Production Server
security: []
tags:
- name: annotation
description: Functional annotations and term lookup
paths:
/api/{format}/functional_annotation:
get:
operationId: getFunctionalAnnotation
summary: Functional Annotation
description: 'Retrieve all functional annotations associated with input proteins. Includes GO terms, KEGG pathways, Pfam/InterPro/SMART domains, tissue expression (COMPARTMENTS), and disease associations.
'
tags:
- annotation
parameters:
- $ref: '#/components/parameters/format'
- name: identifiers
in: query
required: true
description: Protein identifiers, newline-separated (%0d in URL)
schema:
type: string
- $ref: '#/components/parameters/species'
- name: allow_pubmed
in: query
required: false
description: Include PubMed text mining annotations (1=include)
schema:
type: integer
enum:
- 0
- 1
default: 0
- $ref: '#/components/parameters/caller_identity'
responses:
'200':
description: Functional annotations for the proteins
content:
text/plain:
schema:
$ref: '#/components/schemas/TsvResponse'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FunctionalAnnotation'
'400':
$ref: '#/components/responses/BadRequest'
/api/{format}/functional_terms:
get:
operationId: getFunctionalTerms
summary: Functional Terms
description: 'Retrieve proteins and details associated with specific functional terms (GO terms, KEGG pathways, Reactome pathways, Pfam domains, etc.).
'
tags:
- annotation
parameters:
- $ref: '#/components/parameters/format'
- name: identifier
in: query
required: true
description: Functional term identifier (e.g. GO:0008150, hsa00010, PF00069)
schema:
type: string
example: GO:0008150
- name: category
in: query
required: false
description: Term category to restrict search
schema:
type: string
enum:
- Process
- Function
- Component
- Keyword
- KEGG
- RCTM
- Pfam
- InterPro
- SMART
- NetworkNeighborAL
- COMPARTMENTS
- Tissue
- Disease
- $ref: '#/components/parameters/species'
- $ref: '#/components/parameters/caller_identity'
responses:
'200':
description: Proteins and details associated with the functional term
content:
text/plain:
schema:
$ref: '#/components/schemas/TsvResponse'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FunctionalTermResult'
'400':
$ref: '#/components/responses/BadRequest'
/api/{format}/geneset_description:
get:
operationId: getGenesetDescription
summary: Gene Set Description
description: 'Retrieve auto-generated textual descriptions for a set of proteins, summarizing the most relevant functional themes in the gene set.
'
tags:
- annotation
parameters:
- $ref: '#/components/parameters/format'
- name: identifiers
in: query
required: true
description: Protein identifiers, newline-separated (%0d in URL)
schema:
type: string
- $ref: '#/components/parameters/species'
- $ref: '#/components/parameters/caller_identity'
responses:
'200':
description: Textual descriptions for the gene set
content:
text/plain:
schema:
$ref: '#/components/schemas/TsvResponse'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GenesetDescription'
'400':
$ref: '#/components/responses/BadRequest'
components:
parameters:
format:
name: format
in: path
required: true
description: Output format
schema:
type: string
enum:
- tsv
- tsv-no-header
- json
- xml
example: json
species:
name: species
in: query
required: false
description: 'NCBI taxon ID to restrict results to a specific organism. Common values: 9606 (human), 10090 (mouse), 10116 (rat), 7227 (D. melanogaster), 6239 (C. elegans), 4932 (S. cerevisiae), 3702 (A. thaliana), 7955 (zebrafish).
'
schema:
type: integer
example: 9606
caller_identity:
name: caller_identity
in: query
required: false
description: 'A string identifying your application or organization. Strongly recommended; helps STRING admins contact you if there are issues.
'
schema:
type: string
example: my_bioinformatics_pipeline
schemas:
GenesetDescription:
type: object
description: Auto-generated description for a protein gene set
properties:
description:
type: string
description: Auto-generated functional description of the gene set
ncbiTaxonId:
type: integer
description: NCBI taxon ID
FunctionalTermResult:
type: object
description: Proteins associated with a specific functional term
properties:
category:
type: string
description: Annotation category
term:
type: string
description: Term identifier
description:
type: string
description: Human-readable term description
preferredName:
type: string
description: Protein preferred name
stringId:
type: string
description: STRING identifier for the protein
Error:
type: object
properties:
status:
type: integer
error:
type: string
message:
type: string
TsvResponse:
type: string
description: Tab-separated values response with header row
FunctionalAnnotation:
type: object
description: Functional annotation for a protein
properties:
stringId:
type: string
description: STRING protein identifier
ncbiTaxonId:
type: integer
description: NCBI taxon ID
taxonName:
type: string
description: Scientific name of the organism
preferredName:
type: string
description: Preferred gene/protein name
category:
type: string
description: Annotation category
term:
type: string
description: Term identifier
description:
type: string
description: Human-readable term description
responses:
BadRequest:
description: Bad request (invalid parameters)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
text/plain:
schema:
type: string
securitySchemes:
ApiKeyAuth:
type: apiKey
in: query
name: api_key
description: 'API key required only for Values/Ranks Enrichment endpoints. Obtain via POST /api/json/get_api_key. All other endpoints are publicly accessible without authentication.
'
externalDocs:
description: STRING API Documentation
url: https://string-db.org/help/api/