UCSC Genomic Data Sequences API

DNA sequence retrieval

OpenAPI Specification

ucsc-genomic-data-sequences-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: UCSC Genome Browser REST Genomes Sequences API
  description: The UCSC Genome Browser REST API provides programmatic access to genomic data, sequences, annotation tracks, genome assemblies, and track hubs. All endpoints return JSON and require no authentication. Rate limiting of one request per second is recommended to avoid the botDelay system.
  version: 1.0.0
  contact:
    name: UCSC Genome Browser
    url: https://genome.ucsc.edu
servers:
- url: https://api.genome.ucsc.edu
  description: UCSC Primary API Server
- url: https://genome-euro.ucsc.edu/cgi-bin/hubApi
  description: UCSC Europe Mirror
- url: https://genome-asia.ucsc.edu/cgi-bin/hubApi
  description: UCSC Asia Mirror
tags:
- name: Sequences
  description: DNA sequence retrieval
paths:
  /getData/sequence:
    get:
      operationId: getDnaSequence
      summary: Get DNA Sequence
      description: Retrieves a DNA sequence from a genome assembly for a specified genomic region.
      tags:
      - Sequences
      parameters:
      - name: genome
        in: query
        required: true
        schema:
          type: string
        description: Genome assembly identifier (e.g., hg38, mm39).
      - name: chrom
        in: query
        required: true
        schema:
          type: string
        description: Chromosome identifier (e.g., chr1, chrM).
      - name: start
        in: query
        required: false
        schema:
          type: integer
        description: Start position (0-based, half-open coordinates).
      - name: end
        in: query
        required: false
        schema:
          type: integer
        description: End position (1-based, half-open coordinates).
      - name: revComp
        in: query
        required: false
        schema:
          type: integer
          enum:
          - 0
          - 1
        description: Set to 1 to return the reverse complement sequence.
      - name: hubUrl
        in: query
        required: false
        schema:
          type: string
          format: uri
        description: URL of the hub.txt file for a sequence hub.
      responses:
        '200':
          description: DNA sequence data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SequenceResult'
        '400':
          description: Invalid parameters.
components:
  schemas:
    SequenceResult:
      type: object
      properties:
        genome:
          type: string
          description: Genome assembly identifier.
        chrom:
          type: string
          description: Chromosome identifier.
        start:
          type: integer
          description: Start position (0-based).
        end:
          type: integer
          description: End position (1-based).
        dna:
          type: string
          description: DNA sequence string.