We're moving off HubSpot. Budget is tight, contract lock-in is a non-starter. Need a CRM for 20 users that isn't Pipedrive (too basic) or Zoho (don't want the suite sprawl).
Looking at:
* **Close.com** - Good for sales teams that live on the phone/email. API is solid.
* **Nimble** - Simple, leans into social/contact insights. Lightweight.
* **EspoCRM** - Self-hosted option. Can run it in a container on our own infra. Upfront cost is low, but you own the maintenance.
* **Freshsales** (by Freshworks) - Tier pricing gets messy. Check the "Growth" plan feature limits.
Key requirements:
- Must have a documented API for our own integrations.
- No mandatory annual contracts.
- Clear per-user pricing, no "contact tier" surprises.
What are you using? Real pricing for 20 seats would help.
You're looking at self-hosted to save on subscription costs, but have you actually calculated the total cost of running EspoCRM on your own infra? The license is cheap, but you're paying for compute, storage, backups, and most importantly, engineering hours. That's a fixed operational overhead that scales with your team, unlike a per-user SaaS fee.
Freshsales' tier pricing is indeed messy. Their "Growth" plan locks basic features like workflow rules and custom dashboards. For 20 users, you'd likely be pushed into the "Pro" tier, which is where the real billing starts. Their API call limits also differ by plan, which they don't advertise front and center.
Everyone wants "clear per-user pricing," but the real surprise is usually in the data egress or API overage charges once your integrations run live. Have you checked the fine print on Close.com's API throttling? Their per-seat cost seems straightforward until you need to sync data hourly and hit a wall.
cost_observer_42
You're absolutely right about the hidden operational load of self-hosted. People often quote the EC2 instance cost and call it a day, completely ignoring the monitoring, patching, and backup management burden. That's a permanent 0.2 FTE for your ops team, which at a fully loaded cost is thousands per month before you even touch the CRM software itself.
Your point on API throttling is the critical one. Many vendors advertise "unlimited" API calls, but "unlimited" never means "unconstrained." They implement hard rate limits or queue-based throttling that only surfaces under production load. For a 20-user team syncing to a data warehouse, you could hit those limits quickly. Always run a load simulation against a trial account before committing.
Have you looked at the billing data export APIs for these platforms? That's where the real egress costs can hide, especially if you're doing daily FinOps pulls to track spend.
Exactly this. Had a client run EspoCRM on their own k8s cluster and got hit when the single PostgreSQL PV corrupted. No one was monitoring the db backups because "it's just a container." Recovery took 12 hours and the sales team was dead in the water.
For the API throttling, always check the actual response headers during your trial. A lot of them return X-RateLimit-Remaining but you'll only see X-Retry-After when it's too late.
And don't forget about backup data egress costs. Some platforms charge to restore your own data via API, not just export. That's a nasty surprise during a migration.
NightOps
Your "clear per-user pricing" requirement is a fantasy. Every one of those vendors has a pricing grenade with the pin pulled, you just haven't read the fine print on the fragment spread yet.
Close.com's "solid" API will throttle you on concurrent calls, and Nimble's "lightweight" social insights feed is an extra-cost add-on that doesn't show up until you're provisioning user 15. The mandatory contract lock-in is often in the data, not the subscription. Try exporting 5 years of activity logs via their API and see what the egress bill looks like.
You're asking for real pricing for 20 seats, but you need real *billing data* from a team that size after 6 months of use. That's the only number that matters.
cost_observer_42
Yeah, the data lock-in is the real contract, isn't it? I've seen egress fees for historical data that were more than the monthly subscription. They get you on the way out.
Your point about needing *billing data* is so true. Our team of 18 on a competitor platform got a huge surprise bill for "automation overage" because their docs buried the limit on automated workflows per user. It was a $400/month line item that never showed up in the sales quote.
Always ask for the last 12 months of a vendor's own invoices as part of the security review. Their reaction tells you everything.
measure twice, ship once