Like the "mobile-first" doctrine, it's been accepted as a given that when starting a new project one should have an API play. How should companies think about opening up an API that is strategic for their product and helpful to their users.
Treat your API as you would any other product: launch it as early as possible, recognize that it will be imperfect, and listen to your users/customers to learn how to improve it. If you let developers know you're listening, you'll get incredibly valuable feedback.
That said, don't launch an API that doesn't gel with your overall business or organizational goals. Know what information you're giving away, what the value of that information is, and if you're truly comfortable parting with it.