it seems it was (discouraged in HTTP/1.1 spec)[https://stackoverflow.com/questions/978061/http-get-with-request-body], but the words of discouragement were removed in 2014.
The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. - HTTP/1.1 spec
this means the server is not required to check for anything other than what's on your URI (the URL string). some may check for body, some may check for headers, but they are not required to. this means you have no assurance that the servers will just drop your data because they're not required to check for it.
elasticsearch also accepts (GET requests with a body)[https://www.elastic.co/guide/en/elasticsearch/guide/current/_empty_search.html#get_vs_post], and it seems to be the (preferred way)[https://stackoverflow.com/a/20349624]
(ref)[https://stackoverflow.com/a/15656884 curl and django supports it, but (restclient)[http://restclient.net/], Apache's HttpClient, Paw (disabled by default), XmlHTTPRequest Fiddler do not
(Google, Bing, Apple)[https://stackoverflow.com/a/17384851] do not support GET requests with a body. (they are served by AkamaiGhost)
it is not RESTful, so try your best not to do it. your caching service might break, your proxy might be wonky, search engines will spit on you for doing it. Most importantly though, it's not RESTful, and considering you're making a REST API, purposefully NOT following REST rules is not the way to go.