For the widget you are given ready-made embed code — there is no need to call the API by hand. The widget key is created in the project settings, where you also restrict which domains it works on.
A public form works by link: /forms/<slug>. Its structure can also be read and submitted programmatically.
In both cases the person sending the request needs no account in the system.