What is the difference between an SPV wallet and an API wallet? I understand what an api wallet is, but I'm unfamiliar with what an SPV wallet details. I'd like a technical explanation on what an SPV wallet is, how it differs from traditional thin clients and how I could go about implementing one.
SPV wallet: only download block headers from blockchain network, it's kind of lightweight node, SPV wallet is able to verify the TX with Merkel branch that from full node.

There are lots of SPV wallet implementation at Github with different coding language, you can go and check it.