RESCRIPt 'get-ncbi-genomes' and 'get-ncbi-data-protein' functions not supported?

Was trying the RESCRIPt ‘get-ncbi-genomes’ function in a q2 v2025.4 environment on my HPC. For context, just running Entrez queries works fine. My test command: qiime rescript get-ncbi-genomes --p-taxon "Bifidobacterium breve" --verbose --output-dir bifido_genomes_test

And got:

Unexpected error while calling NCBI Datasets API: (410)
Reason: Gone
HTTP response headers: HTTPHeaderDict({'Date': 'Wed, 18 Feb 2026 14:54:10 GMT', 'Server': 'Apache', 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains; preload', 'Content-Security-Policy': 'upgrade-insecure-requests', 'Ncbi-Phid': '1D32EE4EE6A5920500002AB74706E8F4.1', 'Content-Type': 'application/json', 'Content-Length': '333', 'X-Datasets-Version': '18.17.1', 'Vary': 'Accept-Encoding', 'X-UA-Compatible': 'IE=Edge', 'X-XSS-Protection': '1; mode=block'})
HTTP response body: {"error": "This version of the API has been retired ( Significant Updates Coming to the NCBI Datasets APIs and Command-Line Tools - NCBI Insights ). Please migrate to the latest version to continue using our services. For more information, visit our API documentation at NCBI Datasets v2 REST API "}

I then found that the 'get-ncbi-protein-data' function does not have the same issue, but instead when I ran: qiime rescript get-ncbi-data-protein --p-query "G1p2" --p-logging-level DEBUG --verbose --output-dir "ncbi_protein_test"

I get a repeating cycle of:

INFO:2026-02-18 10:18:25,731:MainProcess:Downloading 31 sequences
DEBUG:2026-02-18 10:18:33,770:LokyProcess-2:request lock acquired
DEBUG:2026-02-18 10:18:34,171:LokyProcess-2:request lock released
DEBUG:2026-02-18 10:18:34,171:LokyProcess-2:Request failed with code 400. This could be because all of the requested accession ids are invalid, or it could just be a temporary failure. Retrying.
DEBUG:2026-02-18 10:18:36,176:LokyProcess-2:request lock acquired
DEBUG:2026-02-18 10:18:36,575:LokyProcess-2:request lock released
DEBUG:2026-02-18 10:18:36,575:LokyProcess-2:Request failed with code 429. Retrying.
DEBUG:2026-02-18 10:18:40,579:LokyProcess-2:request lock acquired
DEBUG:2026-02-18 10:18:40,982:LokyProcess-2:request lock released
DEBUG:2026-02-18 10:18:40,982:LokyProcess-2:Request failed with code 400. This could be because all of the requested accession ids are invalid, or it could just be a temporary failure. Retrying.

etc, etc. seemingly randomly between code 429 and code 400.
Also tried increasing # of cores, and making the query 'G1p2[prot]', with no change.

But finally, using the main 'get-ncbi-data' function with similar queries does work, so with command: qiime rescript get-ncbi-data --p-query "Bifidobacterium breve[or] OR G1p2[prot]" --output-dir ncbi_data_test --p-logging-level DEBUG --verbose --p-n-jobs 8 it finds ~75k sequences and downloads them as expected.

So the questions are:

  1. Why are 'get-ncbi-genomes' and 'get-ncbi-data-proteins' failing? Have they been silently deprecated?
  2. Why are they failing differently? Specifically, how come 'get-ncbi-genomes' seems to be using an outdated API?

If this is just a versioning or weird dependency issue, that's fine of course, and if this was more of an immediate problem I'd probably next try reinstalling the same version of rescript with a minimal q2 environment, and then try installing the latest version. But I didn't see any discussion about this anywhere, so I'd be interested to hear any insights.

Hey @Adam_Cantor,

Thanks for reaching out! I am not sure whether the two issues you encountered are necessarily related to one another but here's what's going on:

  1. get-ncbi-genomes: the API was indeed deprecated; we did update RESCRIPt to reflect that change - if you use our latest distributions (2026.1) this action should work correctly.
  2. get-ncbi-data-protein: there was an issue in how we were constructing the query to NCBI which resulted in the behaviour you observed. I'm not sure why this exactly happened now - I suspect that NCBI must have updated something here as well (this is a different API than the one used by the genome-fetching action). We have a fix which should soon be merged - it will be included in the 2026.4 release.

It sounds to me like you were able to download what you needed for now, is that correct?

Cheers,
Michal

3 Likes

Hi Michal,

Yes, was able to get what I needed. Just wanted to be sure this wasn't a larger issue. Thanks for your response and glad to hear it works in the latest version.

Adam

4 Likes

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.