Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Twitter API with Curl
# create an account, create an app
# @see https://apps.twitter.com/
# retrieve the access tokens
# @see https://dev.twitter.com/oauth/reference/post/oauth2/token
# create the file ~/twitter_api
nano ~/twitter_api
Authorization: OAuth oauth_consumer_key="XXXXXX", oauth_nonce="11111111", oauth_signature="XXXXXX", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1450728725", oauth_token="99999-XXXXXX", oauth_version="1.0"
# install JQ
# @see https://stedolan.github.io/jq/manual/
sudo apt-get install jq
# test requests
# @see https://dev.twitter.com/rest/tools/console
# example, fully written
curl
--get 'https://api.twitter.com/1.1/search/tweets.json'
--data '&q=%23archaeology'
--header ''Authorization: OAuth oauth_consumer_key="AAAA", oauth_nonce="9999", oauth_signature="AAAA", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1450742465", oauth_token="9999-AAAA", oauth_version="1.0"'
--silent
# example, loading auth headers from file
curl
--get 'https://api.twitter.com/1.1/search/tweets.json'
--data 'q=%23archaeology'
--header "$(cat ~/twitter_api)"
--silent
# example, using option short-hand
curl
-G 'https://api.twitter.com/1.1/search/tweets.json'
-d 'q=%23archaeology'
-h "$(cat ~/twitter_api)"
-s
# example, as one-liner
curl -G 'https://api.twitter.com/1.1/search/tweets.json' -d 'q=%23archaeology' -h "$(cat ~/twitter_api)" -s
# do a search with curl, pretty print with jq
# @see http://curl.haxx.se/docs/manpage.html
# @see https://dev.twitter.com/rest/public/search
curl -s -H "$(cat ~/twitter_api)" -d 'q=%40twitterapi' -G 'https://api.twitter.com/1.1/search/tweets.json' | jq '.'
# do a search, print tweet text
curl -s -H "$(cat ~/twitter_api)" -d 'q=%40twitterapi' -G 'https://api.twitter.com/1.1/search/tweets.json' | jq '.statuses[].text'
@jessemonroy650

This comment has been minimized.

Copy link

@jessemonroy650 jessemonroy650 commented Apr 3, 2017

Is there a page, blog post or other instructions that point to this page? I am going to blog this, with understanding that i may move in the future. Comments?

@sudhanvadp

This comment has been minimized.

Copy link

@sudhanvadp sudhanvadp commented Mar 22, 2018

What is the curl command to get fetch initial token with oauth1?
Can you or anyone help me converting the below http request to curl or fetch?

POST /oauth/request_token HTTP/1.1
User-Agent: themattharris' HTTP Client
Host: api.twitter.com
Accept: */*
Authorization:
        OAuth oauth_callback="http%3A%2F%2Flocalhost%2Fsign-in-with-twitter%2F",
              oauth_consumer_key="cChZNFj6T5R0TigYB9yd1w",
              oauth_nonce="ea9ec8429b68d6b77cd5600adbbb0456",
              oauth_signature="F1Li3tvehgcraF8DMJ7OyxO4w9Y%3D",
              oauth_signature_method="HMAC-SHA1",
              oauth_timestamp="1318467427",
              oauth_version="1.0" 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment