STRING website screenshot

STRING

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.

STRING publishes 1 API on the APIs.io network: REST API. Tagged areas include Bioinformatics, Proteins, Genomics, Life Sciences, and Research.

The STRING catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.

33.9/100 thin ▬ flat Agent 19/100 agent aware Full breakdown ↓
scored 2026-07-28 · rubric v0.6
AccessFree
1 APIs
BioinformaticsProteinsGenomicsLife SciencesResearchOpen Data

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.6
Composite quality — 33.9/100 · thin
Contract Quality 13.3 / 25
Developer Ergonomics 1.3 / 20
Commercial Clarity 7.9 / 20
Operational Transparency 0.0 / 13
Governance 7.0 / 12
Discoverability 7.0 / 10
Agent readiness — 19/100 · agent aware
Machine-Readable Contract 18 / 18
Agentic Access Contract 0 / 10
MCP Server 0 / 12
Machine-Readable Auth 0 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/string-db: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 1

Individual APIs this provider publishes, each with its own machine-readable definition.

STRING REST API

REST API for accessing protein-protein interaction networks, functional enrichment results, homology data, and annotation information from the STRING database. Supports multiple...

Pricing Plans 1

Published pricing tiers and plan structures.

Plans

2 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Rate Limits

0 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Finops

FINOPS

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

context Context

0 classes · 38 properties

JSON-LD

Spectral Rules 1

Spectral governance rulesets for linting and validating these APIs.

STRING API Rules

5 rules · 3 warnings 2 info

SPECTRAL

JSON Schema 3

Standalone JSON Schema definitions for this provider's data models.

EnrichmentResult

10 properties

JSON SCHEMA

Interaction

13 properties

JSON SCHEMA

StringIdMapping

6 properties

JSON SCHEMA

Examples 4

Example request and response payloads for these APIs.

Functional Enrichment

3 fields

EXAMPLE

Get Interaction Partners

3 fields

EXAMPLE

Get String Ids

3 fields

EXAMPLE

Ppi Enrichment

3 fields

EXAMPLE

Security Posture 1

Authentication, domain security, vulnerability disclosure, and trust-center signals.

String Db Domain Security

TLSv1.3

SECURITY

Resources

Documentation 2

Reference material describing how the API behaves

Access & Security 1

Authentication, authorization, and security posture

Commercial 1

Pricing, plans, and the legal terms of use

Other 2

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
name: STRING
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.

  '
accessModel:
  pricing: free
  onboarding: unknown
  trial: false
  try_now: false
  public: false
  label: Free
  confidence: medium
  source:
  - plans
  generated: '2026-07-22'
  method: derived
image: https://string-db.org/images/logo/logo_medium.png
tags:
- Bioinformatics
- Proteins
- Genomics
- Life Sciences
- Research
- Open Data
url: https://string-db.org
apis:
- name: STRING REST API
  description: 'REST API for accessing protein-protein interaction networks, functional enrichment results, homology data,
    and annotation information from the STRING database. Supports multiple output formats including JSON, TSV, XML, and image
    formats.

    '
  humanURL: https://string-db.org/help/api/
  baseURL: https://string-db.org
  version: '12.0'
  tags:
  - Protein Interactions
  - Network Biology
  - Functional Enrichment
  - Bioinformatics
  properties:
  - type: Documentation
    url: https://string-db.org/help/api/
  - type: OpenAPI
    url: https://string-db.org/help/api/
  contact:
  - FN: STRING Consortium
    url: https://string-db.org
  meta:
    security:
    - type: apiKey
      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.

        '
  endpoints:
  - name: Get STRING IDs
    method: GET
    path: /api/{format}/get_string_ids
    description: Map gene names, synonyms, or UniProt IDs to STRING identifiers
    parameters:
    - name: format
      in: path
      required: true
      description: Output format (tsv, tsv-no-header, json, xml)
    - name: identifiers
      in: query
      required: true
      description: Protein identifiers to map
    - name: species
      in: query
      required: false
      description: NCBI taxon ID (e.g. 9606 for human)
    - name: caller_identity
      in: query
      required: false
      description: Identifier for your application
  - name: Network Image or Interactions
    method: GET
    path: /api/{format}/network
    description: 'Retrieve network image or interaction data for a set of proteins. Supports image formats (image, highres_image,
      svg) and data formats (tsv, json, xml, psi-mi, psi-mi-tab).

      '
    parameters:
    - name: format
      in: path
      required: true
      description: Output format
    - name: identifiers
      in: query
      required: true
      description: Protein identifiers
    - name: species
      in: query
      required: false
      description: NCBI taxon ID
    - name: required_score
      in: query
      required: false
      description: Minimum interaction score threshold (0-1000)
    - name: network_type
      in: query
      required: false
      description: functional or physical
    - name: network_flavor
      in: query
      required: false
      description: evidence, confidence, or actions
    - name: add_color_nodes
      in: query
      required: false
      description: Number of additional colored nodes to add
    - name: add_white_nodes
      in: query
      required: false
      description: Number of additional white nodes to add
  - name: Get Network Link
    method: GET
    path: /api/{format}/get_link
    description: Generate a stable URL linking to a STRING network
    parameters:
    - name: format
      in: path
      required: true
      description: Output format (tsv, json)
    - name: identifiers
      in: query
      required: true
      description: Protein identifiers
    - name: species
      in: query
      required: false
      description: NCBI taxon ID
  - name: Interaction Partners
    method: GET
    path: /api/{format}/interaction_partners
    description: Retrieve all STRING interaction partners for input proteins
    parameters:
    - name: format
      in: path
      required: true
      description: Output format (tsv, tsv-no-header, json, xml)
    - name: identifiers
      in: query
      required: true
      description: Protein identifiers
    - name: species
      in: query
      required: false
      description: NCBI taxon ID
    - name: limit
      in: query
      required: false
      description: Maximum number of interaction partners to return
    - name: required_score
      in: query
      required: false
      description: Minimum interaction score threshold (0-1000)
    - name: network_type
      in: query
      required: false
      description: functional or physical
  - name: Homology
    method: GET
    path: /api/{format}/homology
    description: 'Return Smith-Waterman bit scores between proteins in the input set

      '
    parameters:
    - name: format
      in: path
      required: true
      description: Output format (tsv, tsv-no-header, json, xml)
    - name: identifiers
      in: query
      required: true
      description: Protein identifiers
    - name: species
      in: query
      required: false
      description: NCBI taxon ID
  - name: Best Homology
    method: GET
    path: /api/{format}/homology_best
    description: 'Return best cross-species homology hits for input proteins

      '
    parameters:
    - name: format
      in: path
      required: true
      description: Output format (tsv, tsv-no-header, json, xml)
    - name: identifiers
      in: query
      required: true
      description: Protein identifiers
    - name: species
      in: query
      required: false
      description: NCBI taxon ID (source species)
    - name: species_b
      in: query
      required: false
      description: NCBI taxon ID (target species)
  - name: Functional Enrichment
    method: GET
    path: /api/{format}/enrichment
    description: 'Perform functional enrichment analysis for a set of proteins. Returns enriched GO terms, KEGG pathways,
      and other categories.

      '
    parameters:
    - name: format
      in: path
      required: true
      description: Output format (tsv, tsv-no-header, json, xml)
    - name: identifiers
      in: query
      required: true
      description: Protein identifiers
    - name: species
      in: query
      required: false
      description: NCBI taxon ID
    - name: background_string_identifiers
      in: query
      required: false
      description: Custom background gene set identifiers
    - name: allow_pubmed
      in: query
      required: false
      description: Include PubMed term enrichment
  - name: Enrichment Figure
    method: GET
    path: /api/{format}/enrichmentfigure
    description: Generate a visual figure of enrichment results
    parameters:
    - name: format
      in: path
      required: true
      description: Image format (image, highres_image, svg)
    - name: identifiers
      in: query
      required: true
      description: Protein identifiers
    - name: species
      in: query
      required: false
      description: NCBI taxon ID
  - name: Functional Annotation
    method: GET
    path: /api/{format}/functional_annotation
    description: 'Retrieve all functional annotations associated with input proteins

      '
    parameters:
    - name: format
      in: path
      required: true
      description: Output format (tsv, tsv-no-header, json, xml)
    - name: identifiers
      in: query
      required: true
      description: Protein identifiers
    - name: species
      in: query
      required: false
      description: NCBI taxon ID
    - name: allow_pubmed
      in: query
      required: false
      description: Include PubMed annotations
  - name: Functional Terms
    method: GET
    path: /api/{format}/functional_terms
    description: 'Retrieve details about specific functional terms (GO, KEGG, etc.)

      '
    parameters:
    - name: format
      in: path
      required: true
      description: Output format (tsv, tsv-no-header, json, xml)
    - name: identifier
      in: query
      required: true
      description: Functional term identifier
    - name: category
      in: query
      required: false
      description: 'Term category (Process, Function, Component, Keyword, KEGG, RCTM, Pfam, InterPro, SMART, NetworkNeighborAL,
        COMPARTMENTS, Tissue, Disease)

        '
  - name: Gene Set Description
    method: GET
    path: /api/{format}/geneset_description
    description: Retrieve textual descriptions for functional gene sets
    parameters:
    - name: format
      in: path
      required: true
      description: Output format (tsv, tsv-no-header, json, xml)
    - name: identifiers
      in: query
      required: true
      description: Protein identifiers
    - name: species
      in: query
      required: false
      description: NCBI taxon ID
  - name: PPI Enrichment
    method: GET
    path: /api/{format}/ppi_enrichment
    description: 'Test whether interactions in a protein set are more significant than expected by random chance

      '
    parameters:
    - name: format
      in: path
      required: true
      description: Output format (tsv, json, xml)
    - name: identifiers
      in: query
      required: true
      description: Protein identifiers
    - name: species
      in: query
      required: false
      description: NCBI taxon ID
    - name: required_score
      in: query
      required: false
      description: Minimum interaction score threshold (0-1000)
    - name: network_type
      in: query
      required: false
      description: functional or physical
  - name: Get API Key
    method: POST
    path: /api/json/get_api_key
    description: 'Obtain an API key required for Values/Ranks Enrichment endpoints

      '
    parameters:
    - name: caller_identity
      in: body
      required: true
      description: Identifier for your application
  - name: Submit Values/Ranks Enrichment Job
    method: POST
    path: /api/json/valuesranks_enrichment_submit
    description: 'Submit a GSEA-like enrichment analysis on a ranked list of proteins with associated values. Accepts up to
      1000 concurrent jobs.

      '
    parameters:
    - name: api_key
      in: body
      required: true
      description: API key obtained via get_api_key endpoint
    - name: identifiers
      in: body
      required: true
      description: Tab-separated protein-value pairs
    - name: species
      in: body
      required: true
      description: NCBI taxon ID
    - name: ge_fdr
      in: body
      required: false
      description: False discovery rate threshold (default 0.01)
    - name: caller_identity
      in: body
      required: false
      description: Identifier for your application
  - name: Check Values/Ranks Enrichment Status
    method: GET
    path: /api/json/valuesranks_enrichment_status
    description: Check the status of a submitted Values/Ranks enrichment job
    parameters:
    - name: api_key
      in: query
      required: true
      description: API key
    - name: job_id
      in: query
      required: true
      description: Job ID from submission response
  - name: Remove Values/Ranks Enrichment Job
    method: GET
    path: /api/json/valuesranks_enrichment_remove
    description: Remove a completed Values/Ranks enrichment job
    parameters:
    - name: api_key
      in: query
      required: true
      description: API key
    - name: job_id
      in: query
      required: true
      description: Job ID to remove
  - name: Version
    method: GET
    path: /api/{format}/version
    description: Return the current STRING database version and stable address
    parameters:
    - name: format
      in: path
      required: true
      description: Output format (tsv, json, xml)
common:
- type: DomainSecurity
  url: security/string-db-domain-security.yml
- type: TermsOfService
  url: https://string-db.org/cgi/info?footer_active_subpage=cookies
- type: Licensing
  url: https://string-db.org/cgi/access?footer_active_subpage=licensing
- type: UsageGuidelines
  url: https://string-db.org/cgi/access?footer_active_subpage=usage
- type: APIDocumentation
  url: https://string-db.org/help/api/
- type: Downloads
  url: https://string-db.org/cgi/download
modified: 2026-06-13
maintainers:
- FN: STRING Consortium
  url: https://string-db.org