Micromessage filtering examples for Twitter

About

Filter Twitter timelines and search results according to message language and/or user location.

Filter home Timeline

Get your Twitter home timeline:
curl -u TWITTER_USERNAME:TWITTER_PASSWORD http://api.twitter.com/1/statuses/home_timeline.json > timeline.json
or the public timeline:
curl "http://api.twitter.com/1/statuses/public_timeline.json" > timeline.json

Filter according to message language (only messages written in japanese or portuguese):

curl -E semiocast-api.pem:PASSWORD -d languages=ja,pt --data-urlencode data@timeline.json "https://api.semiocast.com/1/filter/twitter.json"
[{"id":"16475228000","language":{"script_code":"jpan","language_code":"ja"}}, {"id":"16475226000","language":{"script_code":"latn","language_code":"pt"}}, {"id":"16475225000","language":{"script_code":"latn","language_code":"pt"}}, {"id":"16475211000","language":{"script_code":"latn","language_code":"pt"}}]

Filter according to message language (only messages written in latin characters):

curl -E semiocast-api.pem:PASSWORD -d languages=latn --data-urlencode data@timeline.json "https://api.semiocast.com/1/filter/twitter.json"
[ {"id":"16475233000","language":{"script_code":"latn","language_code":"nl"}}, {"id":"16475232000","language":{"script_code":"latn","language_code":"en"}}, {"id":"16475231000","language":{"script_code":"latn","language_code":"en"}}, {"id":"16475230000","language":{"script_code":"latn","language_code":"en"}}, {"id":"16475229000","language":{"script_code":"latn","language_code":"id"}}, {"id":"16475227000","language":{"script_code":"latn","language_code":"id"}}, {"id":"16475226000","language":{"script_code":"latn","language_code":"pt"}}, {"id":"16475225000","language":{"script_code":"latn","language_code":"pt"}}, {"id":"16475222000","language":{"script_code":"latn","language_code":"id"}}, {"id":"16475221000","language":{"script_code":"latn","language_code":"en"}}, {"id":"16475220000","language":{"script_code":"latn","language_code":"en"}}, {"id":"16475219000","language":{"script_code":"latn","language_code":"es"}}, {"id":"16475215000","language":{"script_code":"latn","language_code":"en"}}, {"id":"16475211000","language":{"script_code":"latn","language_code":"pt"}}, {"id":"16475209000","language":{"script_code":"latn","language_code":"en"}}, {"id":"16475204000","language":{"script_code":"latn","language_code":"sk"}}, {"id":"16475203000","language":{"script_code":"latn","language_code":"es"}}, {"id":"16475202000","language":{"script_code":"latn","language_code":"en"}}, {"id":"16475200000","language":{"script_code":"latn","language_code":"en"}} ]

Filter according to location (only messages from Indonesia):

curl -E semiocast-api.pem:PASSWORD -d locations=ID --data-urlencode data@statuses.json https://api.semiocast.com/1/filter/twitter.json
[{"id":"16475229000","location":{"country_code":"ID","city_name":null}}, {"id":"16475227000","location":{"country_code":"ID","city_name":"Jakarta"}}]

Filter according to message language (indonesian) or user location (Indonesia):

curl -E semiocast-api.pem:PASSWORD -d locations=ID -d languages=id --data-urlencode data@statuses.json https://api.semiocast.com/1/filter/twitter.json
[{"id":"16475229000","location":{"country_code":"ID","city_name":null}, "language":{"script_code":"latn","language_code":"id"}}, {"id":"16475227000","location":{"country_code":"ID","city_name":"Jakarta"}, "language":{"script_code":"latn","language_code":"id"}}, {"id":"16475222000","location":{"country_code":"FR","city_name":"Paris"}, "language":{"script_code":"latn","language_code":"id"}}]