STRING Identifiers API

Map protein names and synonyms to STRING identifiers

Operations 2

GET /api/{format}/get_string_ids Get STRING IDs #
POST /api/{format}/get_string_ids Get STRING IDs (POST) #

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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/string-db-identifiers-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

string-db-identifiers-api-openapi.yml Raw ↑
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/