The quick answer is:
From the standard perspective, there is no such limitation.
RFC 2616 (Hypertext Transfer Protocol HTTP/1.1) section 3.2.1 says:
The HTTP protocol does not place any a priori limit on the length of a URI. Servers MUST be able to handle the URI of any resource they serve, and SHOULD be able to handle URIs of unbounded length if they provide GET-based forms that could generate such URIs. A server SHOULD return 414 (Request-URI Too Long) status if a URI is longer than the server can handle (see section 10.4.15).
For browsers, 2000 characters is the de facto limit.
For curl command, it can send much longer URL than 2000. For the web server, such as Flask, URL longer than 2000 is not a problem.
Here is the code example.
from flask import Flask
Another fact is, the maximum length of a shell command can be gotten by running the following commandA(from here):
> getconf ARG_MAX