SuiteCRM is a good place to start. It is opensource and based on top of SugarCRM with lot more useful features. With 4 years of experience in working with SuiteCRM and SugarCRM i would really prefer SuiteCRM, even when it comes to adding custom business logic and workflow design.
It also comes with good REST API for all the modules and any custom module you create using the module builder.
The community modules are really good too and https://www.sugaroutfitters.com makes some nice paid modules which are useful too.