---
title: UniProt Search troubleshooting
description: No results or the wrong protein? Name the right organism or drop it, check for a retired accession, and ask for the sequence when it is missing.
tags:
  - uniprot
  - troubleshooting
---

This page helps you diagnose the common problems with a [UniProt](/docs/uniprot) search — no results, the wrong protein returned, missing sequences or sparse annotations, timeouts, cross-reference gaps, and rate limiting — most of which trace back to query construction and organism filtering.

## Common issues and fixes

UniProt Search uses the UniProt REST API to retrieve protein data. Most issues stem from query construction, organism filtering, or API availability.

## No results returned

- **Organism filter too restrictive**: An organism filter is applied only when you name one. If your protein is from a different species than the one you named, specify the correct organism or drop it.
- **Gene symbol vs. protein name**: Some proteins are better found by gene symbol (e.g., "TP53") than by protein name (e.g., "tumor protein p53"). Try both approaches.
- **Deprecated accessions**: UniProt occasionally merges or demerges entries, retiring old accession IDs. Search for the protein name instead if an accession returns no results.
- **TrEMBL-only proteins**: Some proteins exist only in TrEMBL (computationally annotated). They are included in search results by default but may have minimal annotations.

## Wrong protein returned

- **Ambiguous gene symbols**: Some gene symbols are shared across organisms or have multiple proteins. Always include the organism filter. For example, "EGFR" in Homo sapiens vs. Drosophila melanogaster returns different proteins.
- **Multiple isoforms**: UniProt returns the canonical sequence by default. Alternative isoforms may have different domain structures or lengths. Check the UniProt website for isoform information.
- **Obsolete names**: Protein naming conventions change over time. If an older name does not work, try the current recommended name or gene symbol.

## Missing sequence data

- **Sequence not requested**: The sequence is left out by default for performance. Ask for it explicitly ("include the sequence") when you need the amino acid sequence for downstream tools.
- **Fragment entries**: Some TrEMBL entries represent protein fragments rather than full-length sequences. Check the sequence length against expected values.

## Sparse annotations

- **TrEMBL entries**: Computationally annotated entries may lack functional descriptions, GO terms, or disease associations. Check the entry type (Swiss-Prot vs. TrEMBL) in the output.
- **Non-model organisms**: Proteins from less-studied organisms have fewer annotations. Consider searching for the ortholog in a well-annotated organism (e.g., human or mouse) for functional information.
- **Features**: Protein features (domains, PTMs, binding sites) are included by default. If features are missing, the entry may not have annotated features.

## Timeout errors

- UniProt REST API occasionally experiences high load. If a timeout occurs, wait 10-30 seconds and retry.
- Broad free-text queries (e.g., "kinase") return many results and take longer. Add organism or functional keywords to narrow the search.
- Direct accession lookups are faster than search queries. Use accession IDs when available.

## Cross-reference issues

- **No PDB IDs**: Not all proteins have experimentally determined structures. Use ESMFold for AI-predicted structures or AlphaFold Fetch for pre-computed predictions.
- **Missing ChEMBL ID**: Not all proteins are targets in ChEMBL. This typically means no bioactivity data is available for the protein.
- **Stale cross-references**: Cross-references are updated with each UniProt release (monthly). Very recently deposited PDB structures may not yet appear.

## API rate limiting

- UniProt enforces rate limits on their REST API. The platform manages request throttling automatically.
- If you encounter rate limit errors during rapid sequential queries, wait a few seconds between requests.
- Batch queries (searching for many proteins in sequence) may trigger throttling. Consider spacing requests or reducing the number of concurrent searches.

## Still stuck?

When reporting an issue, include:
- The exact query (accession, gene, or free text)
- The organism filter used
- Whether you requested sequence or features
- The error message or unexpected behavior

## Read next
