Storing contacts is not hard: a table, five endpoints, done. So why not build it? Sometimes you should. Here's the honest trade-off.
What "build your own" really includes
- Schema, migrations, and an upsert-by-email path that handles races.
- Auth: API keys, hashing, and a safe way to expose create from the browser.
- Pagination, validation, rate limiting, and error shapes.
- Hosting, backups, and keeping it patched.
ContactAPI gives you those out of the box
You get secret and publishable keys, upsert by email, pagination, rate limiting, and an MCP server so AI clients can manage contacts too. It's open source, so you can read every line or self-host it.
Build your own when
Contacts are tightly coupled to the rest of your schema, or you have hard residency or compliance needs. Otherwise the "just a table" project quietly grows the auth, pagination, and ops you'd rather not own.
Where ContactAPI fits
ContactAPI is an open-source REST API for saving and managing contacts. You POST an email plus any JSON fields, get simple CRUD back, and can reach the same data from an AI client over its MCP server. No CRM, no pipeline stages, no lock-in.