EDIT: @Marketsdotcom If you really want to fetch things on campaign level, you can fetch all of them in a single request by adding the parameter campaign_ids instead of the id at the end of the URL, so for your requests above that would become:
twurl -X GET -H ads-api.twitter.com "/0/stats/accounts/18ce53y9hd8/campaigns?campaign_ids=2m9wq,2lpwh,2l9uu,2ai84,24xq1&granularity=DAY&start_time=2015-08-20&end_time=2015-08-25" > /projects/stam/alexf/camaigns_twitter.json
You’ll get a row per campaign back, which you can then separate into the different .json files to your liking.
As @brandonmblack explained:
So, this means that instead of going to /campaigns, you should use /promoted_tweets or /line_items.
He also mentioned that you should use hourly granularity, so granularity=HOUR instead of granularity=DAY
I haven’t worked with Twurl yet, but seeing your example I think it would become e.g.:
twurl -X GET -H ads-api.twitter.com "/0/stats/accounts/18ce53y9hd8/promoted_tweets?
promoted_tweet_ids=[COMMA_SEPARATED_LIST_OF_TWEET_IDS]&granularity=HOUR&
start_time=2015-08-20&end_time=2015-08-25" > /projects/stam/alexf/promoted_tweets_twitter.json
You’ll then need to group the result to your liking, so if you want data per campaign you’ll have to group it yourself.