Can we get Organic and Promoted impression for ads and tweets using API?
You can do it, when you request stats you can select:
ENTITY -> PROMOTED_TWEET, ENTITY_IDS -> promoted_tweet_id
ENTITY -> ORGANIC_TWEET, ENTITY_IDS -> tweet_id
But remember, in ORGANIC_TWEET stats, you will only get data for organic actions in your promoted tweets, For example, if your promoted tweet had been retweeted.