Is it possible to have an API key that only allows writing to a base but not the ability to see the other responses?
No, this isn’t currently possible.
Have you tried creating an HTML or JS-constructed form that POSTs directly to an Airtable “Form” view, that’s linked to the table you’re trying to append records to? I’m not sure if this cross-domain request would be allowed, but I’ve thought about doing something like this. If something like this works, it could emulate a “write-only” API.