scientific-skills/database-lookup/references/string.md
https://string-db.org/api
/api/{output_format}/{method}
json, tsv, tsv-no-header, image, svg (not all formats for all endpoints)No API key required. All endpoints are public.
Map protein names/identifiers to STRING internal IDs. Always do this first to get canonical STRING IDs.
GET /api/json/resolve?identifier={query}&species={taxid}
| Parameter | Type | Description |
|---|---|---|
identifier | string | Required. Protein name, gene symbol, or external ID. |
species | int | NCBI taxonomy ID (9606 = human, 10090 = mouse). Recommended to avoid ambiguity. |
Example:
https://string-db.org/api/json/resolve?identifier=TP53&species=9606
Response:
[
{
"stringId": "9606.ENSP00000269305",
"preferredName": "TP53",
"ncbiTaxonId": 9606,
"taxonName": "Homo sapiens",
"annotation": "Cellular tumor antigen p53; ..."
}
]
GET /api/json/interaction_partners?identifiers={proteins}&species={taxid}
| Parameter | Type | Description |
|---|---|---|
identifiers | string | Required. Protein name(s). Use %0d (newline) to separate multiple. |
species | int | NCBI taxonomy ID. |
limit | int | Max number of interaction partners to return (per input protein). |
required_score | int | Minimum combined score (0-1000). Default: 400. Common thresholds: 400 (medium), 700 (high), 900 (highest). |
network_type | string | functional (default, all associations) or physical (physical binding only). |
Example:
https://string-db.org/api/json/interaction_partners?identifiers=TP53&species=9606&limit=10&required_score=900
Response:
[
{
"stringId_A": "9606.ENSP00000269305",
"stringId_B": "9606.ENSP00000261842",
"preferredName_A": "TP53",
"preferredName_B": "MDM2",
"ncbiTaxonId": 9606,
"score": 0.999,
"nscore": 0,
"fscore": 0,
"pscore": 0,
"ascore": 0.93,
"escore": 0.994,
"dscore": 0.9,
"tscore": 0.981
}
]
Score channels: nscore (neighborhood), fscore (fusion), pscore (phylogenetic co-occurrence), ascore (co-expression), escore (experimental), dscore (database/curated), tscore (text mining).
GET /api/json/network?identifiers={proteins}&species={taxid}
| Parameter | Type | Description |
|---|---|---|
identifiers | string | Required. Protein names separated by %0d (newline-encoded). |
species | int | NCBI taxonomy ID. |
required_score | int | Minimum combined score (0-1000). |
network_type | string | functional or physical. |
add_nodes | int | Number of additional interactors to add (expands the network). |
Example — network among a set of proteins:
https://string-db.org/api/json/network?identifiers=TP53%0dBRCA1%0dATM%0dCHEK2%0dMDM2&species=9606&required_score=700
Returns all pairwise interactions among the input set.
GET /api/image/network?identifiers={proteins}&species={taxid}
GET /api/svg/network?identifiers={proteins}&species={taxid}
Returns a PNG image or SVG of the interaction network.
Example:
https://string-db.org/api/image/network?identifiers=TP53%0dBRCA1%0dMDM2&species=9606
Perform Gene Ontology, KEGG pathway, and other enrichment analysis on a set of proteins.
GET /api/json/enrichment?identifiers={proteins}&species={taxid}
| Parameter | Type | Description |
|---|---|---|
identifiers | string | Required. Newline-separated (%0d) protein names. |
species | int | NCBI taxonomy ID. |
Example:
https://string-db.org/api/json/enrichment?identifiers=TP53%0dBRCA1%0dATM%0dCHEK2%0dCDK2%0dCDKN1A&species=9606
Response:
[
{
"category": "Process",
"term": "GO:0006974",
"description": "cellular response to DNA damage stimulus",
"number_of_genes": 6,
"number_of_genes_in_background": 781,
"ncbiTaxonId": 9606,
"inputGenes": "TP53,BRCA1,ATM,CHEK2,CDK2,CDKN1A",
"preferredNames": "TP53,BRCA1,ATM,CHEK2,CDK2,CDKN1A",
"p_value": 1.2e-12,
"fdr": 5.6e-10
}
]
Categories include: Process (GO Biological Process), Function (GO Molecular Function), Component (GO Cellular Component), KEGG, Pfam, InterPro, SMART, Keyword (UniProt), Reactome, WikiPathways, HPO (Human Phenotype Ontology).
GET /api/json/get_string_ids?identifiers={proteins}&species={taxid}
Maps arbitrary names to STRING IDs with annotation text.
Example:
https://string-db.org/api/json/get_string_ids?identifiers=CDK2%0dp53&species=9606
Response:
[
{
"queryIndex": 0,
"queryItem": "CDK2",
"stringId": "9606.ENSP00000266970",
"ncbiTaxonId": 9606,
"taxonName": "Homo sapiens",
"preferredName": "CDK2",
"annotation": "Cyclin-dependent kinase 2; ..."
}
]
GET /api/json/homology?identifiers={proteins}&species={taxid}&species_b={taxid_b}
| Parameter | Type | Description |
|---|---|---|
identifiers | string | Source protein(s). |
species | int | Source species. |
species_b | int | Target species for homolog lookup. |
Example:
https://string-db.org/api/json/homology?identifiers=TP53&species=9606&species_b=10090
GET /api/json/ppi_enrichment?identifiers={proteins}&species={taxid}
Example:
https://string-db.org/api/json/ppi_enrichment?identifiers=TP53%0dBRCA1%0dATM%0dCHEK2&species=9606
Response:
[
{
"number_of_nodes": 4,
"number_of_edges": 6,
"average_node_degree": 3.0,
"local_clustering_coefficient": 1.0,
"expected_number_of_edges": 1,
"p_value": 0.000123
}
]
| Species | Taxon ID |
|---|---|
| Homo sapiens (human) | 9606 |
| Mus musculus (mouse) | 10090 |
| Rattus norvegicus (rat) | 10116 |
| Drosophila melanogaster (fruit fly) | 7227 |
| Saccharomyces cerevisiae (yeast) | 4932 |
| Caenorhabditis elegans (worm) | 6239 |
| Danio rerio (zebrafish) | 7955 |
| Escherichia coli K12 | 511145 |
| Arabidopsis thaliana | 3702 |
[] if the query is valid but returns no results (e.g., no interactions above the threshold).species parameter whenever possible to avoid ambiguous identifier resolution.