> ## Documentation Index
> Fetch the complete documentation index at: https://docs.catalog.igvf.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Proteins

> Retrieve proteins.

Protein IDs support the following formats: ENSP00000384707.1 or ENSP00000384707 (Ensembl IDs) or P49711-2 (Uniprot ids)

Example: protein_id = ENSP00000384707,

name = CTCF,

uniprot_name = CTCF_HUMAN,

uniprot_full_name = Transcriptional repressor CTCF,

dbxrefs = P49711,

organism = Homo sapiens.

The limit parameter controls the page size and can not exceed 50.

Pagination is 0-based.



## OpenAPI

````yaml /openapi/catalog-dev.openapi.json get /proteins
openapi: 3.0.3
info:
  title: IGVF Catalog - Development
  description: >-
    Development IGVF Catalog OpenAPI compliant REST API built using tRPC with
    Express.


    Our database uses 0-based, half-open coordinates for genomic coordinates in
    the GRCh38 (human) and GRCm39 (mouse) reference genomes.


    Data is licensed under the Creative Commons license and the software is
    licensed under the MIT license.
  version: 1.2.0 - DEV
servers:
  - url: https://catalog-api-dev.demo.igvf.org/api
security: []
externalDocs:
  url: https://api-dev.catalog.igvf.org/openapi
paths:
  /proteins:
    get:
      summary: Proteins
      description: >-
        Retrieve proteins.


        Protein IDs support the following formats: ENSP00000384707.1 or
        ENSP00000384707 (Ensembl IDs) or P49711-2 (Uniprot ids)


        Example: protein_id = ENSP00000384707,


        name = CTCF,


        uniprot_name = CTCF_HUMAN,


        uniprot_full_name = Transcriptional repressor CTCF,


        dbxrefs = P49711,


        organism = Homo sapiens.


        The limit parameter controls the page size and can not exceed 50.


        Pagination is 0-based.
      operationId: proteins
      parameters:
        - name: protein_id
          in: query
          required: false
          schema:
            type: string
        - name: name
          in: query
          required: false
          schema:
            type: string
        - name: uniprot_name
          in: query
          required: false
          schema:
            type: string
        - name: uniprot_full_name
          in: query
          required: false
          schema:
            type: string
        - name: dbxrefs
          in: query
          required: false
          schema:
            type: string
        - name: organism
          in: query
          required: false
          schema:
            type: string
            enum:
              - Mus musculus
              - Homo sapiens
            default: Homo sapiens
        - name: page
          in: query
          required: false
          schema:
            type: number
            default: 0
        - name: limit
          in: query
          required: false
          schema:
            type: number
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    _id:
                      type: string
                    name:
                      type: string
                      nullable: true
                    uniprot_names:
                      type: array
                      items:
                        type: string
                      nullable: true
                    uniprot_full_names:
                      type: array
                      items:
                        type: string
                      nullable: true
                    uniprot_ids:
                      type: array
                      items:
                        type: string
                      nullable: true
                    dbxrefs:
                      type: array
                      items:
                        type: object
                        properties:
                          name:
                            type: string
                          id:
                            type: string
                        required:
                          - name
                          - id
                        additionalProperties: false
                      nullable: true
                    MANE_Select:
                      type: boolean
                      nullable: true
                    organism:
                      type: string
                    source:
                      type: string
                    source_url:
                      type: string
                  required:
                    - _id
                    - organism
                    - source
                    - source_url
                  additionalProperties: false
        default:
          $ref: '#/components/responses/error'
components:
  responses:
    error:
      description: Error response
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
              code:
                type: string
              issues:
                type: array
                items:
                  type: object
                  properties:
                    message:
                      type: string
                  required:
                    - message
                  additionalProperties: false
            required:
              - message
              - code
            additionalProperties: false

````