q1, Application programming interface. Possible specifications of interactions with a software component.
q2, the way they interact. Twitter uses JSON and must connect to twitter servers over the net while the Java API comes as a library so it has a data base attached for reference.
q3, Watching netflix, I can view the relevant information and make choices but I do not see or have access to the code that makes this possible. The abstraction is via an RF controller.