Why is the UniProt REST API returning multiple results, when I am only providing one ID to be checked? Can some explain why when I run a REST API query on UniProt for one ID ('Q9UJL9'), the results for three IDs are returned?
The query I'm using is:
https://www.uniprot.org/uniprot/?query=Q9UJL9&amp;sort=score&amp;columns=id,go(molecular%20function)&amp;format=tab
(I didn't hyperlink it since you need to see the query to see where I'm going wrong).
When I run the query above, the output is:
Entry   Gene ontology (molecular function)
Q9UJL9  DNA-binding transcription factor activity, RNA polymerase II-specific [GO:0000981]; DNA-binding transcription repressor activity, RNA polymerase II-specific [GO:0001227]; metal ion binding [GO:0046872]; RNA polymerase II transcription regulatory region sequence-specific DNA binding [GO:0000977]
Q8WWY3  identical protein binding [GO:0042802]; ribonucleoprotein complex binding [GO:0043021]; RNA binding [GO:0003723]; snRNP binding [GO:0070990]; U4atac snRNA binding [GO:0030622]; U4 snRNA binding [GO:0030621]
Q6A162  structural molecule activity [GO:0005198]

I checked the uniprot page of the query I want (Q9UJL9), the other items are interactors (along with many others) but not synonyms/linked (it seems, e.g my query is a zinc finger, one of the linked records, Q6A162, is a keratin protein).
it is because you do a text search and the &quot;word&quot; Q9UJL9 appears in multiple entries. If you want an id search, specifically say so and for that the query syntax is id:Q9UJL9. You will want to follow a redirect, and there are some rare cases where that might still lead to more than one entry if the id was made secondary and attached to multiple entries. e.g. P00001.