<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Dear Kat,</p>
<p data-start="68" data-end="157">Thank you for reaching out to us
and for the helpful diagnostics.</p>
<p data-start="159" data-end="460">You are correct in observing a
change in Ensembl REST API behaviour.<br>
On 16th February we temporarily introduced additional traffic
controls as part of a security investigation.<br>
This included more aggressive throttling of certain traffic
patterns and user agents while we assessed and mitigated the
issue.</p>
<p data-start="462" data-end="787">Those measures have now been
relaxed and normal service parameters have been restored.<br>
However, we are still seeing elevated levels of automated traffic,
and some requests — particularly those matching common
programmatic user agents — may intermittently experience increased
latency while our safeguards continue to operate.</p>
<p data-start="789" data-end="969">Your reported usage pattern (a
few requests per minute) is entirely reasonable and should not
require any changes on your side.<br>
That said, as a general best practice, we recommend:</p>
<ul data-start="971" data-end="1269">
<li data-start="971" data-end="1137">
<p data-start="973" data-end="1137">Including a descriptive
User-Agent string that identifies your application (e.g. <code
data-start="1054" data-end="1087"><font
face="Courier New, Courier, monospace">YourAppName/1.0
(contact@email</font><font
face="Helvetica, Arial, sans-serif">)</font></code> rather
than the default <code data-start="1112" data-end="1135"><font
face="Courier New, Courier, monospace">python-requests/x.y.z</font></code>).</p>
</li>
<li data-start="1138" data-end="1227">
<p data-start="1140" data-end="1227">Implementing exponential
back off and retry handling for occasional transient
slowdowns.</p>
</li>
<li data-start="1228" data-end="1269">
<p data-start="1230" data-end="1269">Avoiding burst patterns
where possible.</p>
</li>
</ul>
<p data-start="1271" data-end="1517">We are continuing to monitor
traffic closely and fine-tune the controls to minimise impact on
legitimate users.<br>
Please let us know if you continue to experience significant
delays over the coming days, and we will be happy to investigate
further.</p>
<p data-start="1519" data-end="1582">Thank you for your patience and
for using the Ensembl REST API.</p>
<p data-start="1584" data-end="1611" data-is-last-node=""
data-is-only-node="">Kind regards,</p>
<p>SG</p>
<pre class="moz-signature" cols="72">--
------------
Stefano Giorgetti - Ensembl Platform Lead
The European Bioinformatics Institute (EMBL-EBI)
Wellcome Genome Campus
Hinxton, Cambridge
CB10 1SD, United Kingdom
<a class="moz-txt-link-freetext" href="https://www.ensembl.org/">https://www.ensembl.org/</a></pre>
<p><br>
</p>
<div class="moz-cite-prefix">On 19/02/2026 6:33 pm, Kat Salameh
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAFXxjnx016vpFSOFLPs_VKyZ9aqDWV3A5YEXJQNWY005+OKAUQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">Hello,
<div><br>
</div>
<div>We use the ensembl REST API to look up genome data in our
application, typically at the rate of a few requests per
minute at most. We've noticed recently that requests to `<a
href="http://rest.ensembl.org/" target="_blank"
moz-do-not-send="true">rest.ensembl.org</a>` have been
taking an exceptionally long time. Specifically, since about
21:00 UTC on February 16, we've been seeing over half of
requests to any `<a href="http://rest.ensembl.org/"
target="_blank" moz-do-not-send="true">rest.ensembl.org</a>`
endpoint take more than 30 seconds. There aren't any changes
to the statuses or other data returned that I can see, just
that requests have suddenly begun to take an extremely long
time.</div>
<div><br>
</div>
<div>I tried testing on my laptop with `curl` to see if I could
reproduce the issue, and it did happen when I tried to use the
same user agent string as our script/application.</div>
<div>For example:<br>
-The command `curl <a
href="https://rest.ensembl.org/info/assembly/homo_sapiens%5C"
target="_blank" moz-do-not-send="true">https://rest.ensembl.org/info/assembly/homo_sapiens\</a> -H
"Content-Type: application/json"` returns a result from the
server in less than a second from my laptop, which is what I
would expect.</div>
<div>- Using the same user agent as my laptop's Chrome browser
has the same result.</div>
<div>- However, if I add `-A "python-requests/2.32.4"` to that
curl command, mimicking the python requests user agent we use
for programmatic access in our application, the same request
now takes between 45-120 seconds or more.</div>
<div><br>
</div>
<div>Did anything change about the configuration of `<a
href="http://rest.ensembl.org/" target="_blank"
moz-do-not-send="true">rest.ensembl.org</a>` that might be
causing requests to be delayed by 10s of seconds? Should we
change how we're requesting data from `<a
href="http://rest.ensembl.org/" target="_blank"
moz-do-not-send="true">rest.ensembl.org</a>` to address this
issue? Any guidance would be appreciated. Thank you!</div>
<div><br>
</div>
<div>Best,</div>
<div>Kat Salameh</div>
<div>Software Engineer at Benchling</div>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre wrap="" class="moz-quote-pre">_______________________________________________
Dev mailing list <a class="moz-txt-link-abbreviated" href="mailto:Dev@ensembl.org">Dev@ensembl.org</a>
Posting guidelines and subscribe/unsubscribe info: <a class="moz-txt-link-freetext" href="https://lists.ensembl.org/mailman/listinfo/dev_ensembl.org">https://lists.ensembl.org/mailman/listinfo/dev_ensembl.org</a>
Ensembl Blog: <a class="moz-txt-link-freetext" href="http://www.ensembl.info/">http://www.ensembl.info/</a>
</pre>
</blockquote>
<pre class="moz-signature" cols="72">
</pre>
</body>
</html>