Yes, of course. Check out MBTrading's SDK or IB's API
[B]
The data feed is typically provided by the broker that provides the API or you can go with an independent feed like eSignal. The type of data available varies with the provider. I dont understand the restriction question, are you...