Generic top-level domains (gTLD) don’t have a geographic or country designation. That is, they are not targeted to any country or location. They are neutral. For example, .com, .org, .net, .info etc.
While, country code top-level domains (ccTLD) have geographic or country designation. That means, a ccTLD is targeted to a particular country or region. For example, .us, .in, .fr, .de, .uk, .au etc.
So, ideally, if you want to target a particular region or country, you should go with ccTLD. Else go with gTLD.
you can buy domains from any ICANN accredited registrar like
http://netlynx.com , hostgator, bigrock are the trusted domain name provider, you can buy from them.