Send data using Arduino GSM shield GET/POST/PUT?
Your GET request is ill-formed. Based on your server's API docs, it should look like this instead:

Serial.println("connecting...");
client.print("GET /api/data?api_key=c3ce75cc23386ca4ca663c******&amp;attributes={");
client.print("\"ldr1\":" + String(ldr1));
client.print("}");
client.println(" HTTP/1.1");
client.println("Host: api.geeknesia.com");
client.println();


While it is technically not illegal to have a body in a GET request, according to the HTTP 1.1 specs, the body should have no effect on the server's response i.e. it should be basically meaningless. Your server's API docs indicate that a body isn't needed/supported when you send data with GET, as is the case with most other servers. 

You should consider replacing Arduino Strings with C char arrays; they're a lot safer and reliable.