You neither want nor need an API key for custom form posts. The proper practice is to Make a Marketo Form Submission in the background.
No serious business should use the Marketo API to respond to individual browser activities, nor should you make a server-side form post. This can come as a surprise to developers who think "API" always means "enterprise." It does not mean that in every context, and using anything but the preferred method here invites an Denial of Service attack against your site by a (very) junior hacker.
I respond just about every time this topic comes up on the Community, so you can search my old posts if you need more info.
As far as using the LP as an elaborate single-page site, as long as you accept that you do not have a server-side language (except for cross-domain calls you make to non-Marketo server/s), go for it.