Query value is passed correctly but does not return any results in the query API string

I have a form that submit a query to an API. the parameter is passed correctly to the next page and I can print it as a test, but it it is not passed to the API query

q='%"&Request.QueryString("id")&"%' 

The results is just generic and does not include the query parameter. I can print it and the parameter is definitely passed to the page but it is just ignored. Any ideas on how to fix this? not sure if it is a syntax issue as it doesnt return any errors on the page.

This requests the query parameter and displays it on the page as a test (correct value is returned)

dim intID as String
intID = Request.QueryString("id")
Response.write(intID) 

This is the Query Parameter section:

Dim doc As New XmlDocument()
intID = Request.QueryString("id")
doc.Load("http://api.tradedoubler.com/1.0/products.xml; q='%"&Request.QueryString("id")&"%';tdCategoryId=168;%20category=test?token=B17495243749DAC9660980F6FB98495928DDX123")

Note, If i used the browser and input a relevant value in the q string, i get the correct results, so it may be the formatting?