You are getting an error, but your try - catch block is hiding it. Replace the
catch
line with
catch(Exception ex)
and examine the error message given in the exception object ex - it should tell you what is happening.
BTW: I modified your question to make it more readable - have a look and do the same yourself in future!
"The remote server returned an error: (404) Not Found"
That means that your url is wrong. The remote website is saying "I do not have a page that matches your address".
Check:
1) Modify apicall to print out exactly what the HttpWebRequest is going to connect to.
2) Copy this string into the address bar of a normal web browser.
3) Try to connect to the page manually.
4) Edit your address until you get the connection ok.
5) Modify your code so it uses that URL instead of the current one.