STRING Identifiers API
Map protein names and synonyms to STRING identifiers
Map protein names and synonyms to STRING identifiers
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/string-db-identifiers-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: STRING REST Identifiers 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: identifiers
description: Map protein names and synonyms to STRING identifiers
paths:
/api/{format}/get_string_ids:
get:
operationId: getStringIds
summary: Get STRING IDs
description: 'Map gene names, protein synonyms, or UniProt IDs to STRING identifiers. Use the returned STRING IDs in subsequent API calls for best performance.
'
tags:
- identifiers
parameters:
- $ref: '#/components/parameters/format'
- name: identifiers
in: query
required: true
description: 'Protein identifiers to map (names, synonyms, UniProt IDs). Separate multiple identifiers with URL-encoded newline (%0d) for GET requests, or actual newline/carriage-return for POST requests.
'
schema:
type: string
example: TP53%0dEGFR%0dBRCA1
- $ref: '#/components/parameters/species'
- name: limit
in: query
required: false
description: Maximum number of matches to return per input identifier
schema:
type: integer
default: 1
minimum: 1
- name: echo_query
in: query
required: false
description: If 1, include the original query identifier in the output
schema:
type: integer
enum:
- 0
- 1
default: 0
- $ref: '#/components/parameters/caller_identity'
responses:
'200':
description: Mapped STRING identifiers
content:
text/plain:
schema:
$ref: '#/components/schemas/TsvResponse'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/StringIdMapping'
application/xml:
schema:
$ref: '#/components/schemas/XmlResponse'
'400':
$ref: '#/components/responses/BadRequest'
post:
operationId: getStringIdsPost
summary: Get STRING IDs (POST)
description: 'Map gene names, protein synonyms, or UniProt IDs to STRING identifiers. POST is recommended for queries with many identifiers.
'
tags:
- identifiers
parameters:
- $ref: '#/components/parameters/format'
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- identifiers
properties:
identifiers:
type: string
description: Newline-separated protein identifiers
species:
type: integer
description: NCBI taxon ID (e.g. 9606 for human)
limit:
type: integer
default: 1
echo_query:
type: integer
enum:
- 0
- 1
default: 0
caller_identity:
type: string
responses:
'200':
description: Mapped STRING identifiers
content:
text/plain:
schema:
$ref: '#/components/schemas/TsvResponse'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/StringIdMapping'
'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:
XmlResponse:
type: string
description: XML-formatted response
Error:
type: object
properties:
status:
type: integer
error:
type: string
message:
type: string
StringIdMapping:
type: object
description: Mapping from input identifier to STRING protein ID
properties:
queryIndex:
type: integer
description: Index of the input identifier in the query
stringId:
type: string
description: STRING protein identifier (e.g. 9606.ENSP00000269305)
example: 9606.ENSP00000269305
ncbiTaxonId:
type: integer
description: NCBI taxon ID of the matched protein
example: 9606
taxonName:
type: string
description: Scientific name of the organism
example: Homo sapiens
preferredName:
type: string
description: Preferred gene/protein name in STRING
example: TP53
annotation:
type: string
description: Short functional annotation
TsvResponse:
type: string
description: Tab-separated values response with header row
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/