A GET-based request shouldn’t have a Content-Type HTTP header. You’re also sending a Accept header that disincludes JSON, the response type you’re asking for – not likely the issue, but also strange.
Also, you’re not encoding the “$” in your query. “$” is a reserved character and API v1.1 is strict about valid HTTP 1.1. You’ll need to encode that as “%24” instead.
Also, try asking for a lower count value. The Search API doesn’t support a count value of 1000.
Here’s a very simple version that works:
GET /1.1/search/tweets.json?count=100&result_type=recent&q=%24MMM HTTP/1.1
User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8x zlib/1.2.5
Host: api.twitter.com
Accept: /
Authorization: Bearer xxxxxxxxx