Problem with serial communication between Arduino Mega 2560 Pro and ESP8266

I am trying to communicate between an Arduino Mega 2560 Pro and an ESP8266-01 Wi-Fi module using AT commands. I want to send sensor data to the ThingSpeak server. I am receiving a proper response from the ESP8266 module for AT commands (like OK, WIFI CONNECTED, etc.), but no data is reaching the ThingSpeak server.

AT
AT+RST
AT+CWMODE=1
AT+CWJAP="Rohit","Berlin@123$"
AT+CIPMUX=0
AT+CIPSTART="TCP","api.thingspeak.com",80
AT+CIPSEND=51
GET /update?api_key=KXEE7NW7RTHWQUX3&field1=59

I don't know anything about thingspeak. If that api key is your real api key I suggest that you replace it by something like **** when posting on the forum.

I also don't know how the communication between de Mega and the ESP is supposed to work so can't really help. But I think it might help others to help you if you post all code that is involved; don't forget to use code tags as described in https://forum.arduino.cc/t/how-to-get-the-best-out-of-this-forum/679966#p-4739200-posting-code-and-common-code-problemsposting-code-and-common-code-problems-21.

Aren't these 5V and 3.3V controllers? This difference may make direct serial communication unreliable and dangerous.

Or use a bidirectional level shifter between the two modules.

And don't forget to make a hand drawn wiring diagram with labels. Now take a photo(s) and make sure we will be able to read everything. Now post it in a reply using the upload symbol ^ there.

Which suggests your wiring is kosher and your code isn't - but it apparently IS a secret. I recall thingspeak publishes the procedure for packaging your data, which must be rigorously followed.