This question is not about project estimation techniques, initial processes, etc. Assume everything was done correctly.
Recently, we gave an estimation for an Android application with development team. The initial estimation was 2 months. Now, when we are about to deliver the project, we will be at least 5-10 days late.
The app which we are developing is Facebook specific. It is like a 2nd FB client, something like a Facebook plugin, so the majority of our work is with Facebook and its API and guidelines. During our work, we found out that we need additional permissions from FB, and have to submit the app for review. Then it turned out that FB does not provide data we need via its API and we need to find other ways to do the work.
To sum up, Facebook permissions and guidelines hindered us in meeting the deadline. While estimating, we could not go through all the APIs, data they provide, access, requests, and permissions.
Are there any cases where wrong estimates can be justified? Should the client share the additional costs with us, or can the client blame us? I know that client estimates are important, but can we present specific cases to client and protect our rights? I did not find any professional resources that address that issue.