DEV Community

The AI producer
The AI producer

Posted on

I Stopped Using 5 Paid APIs — Here Are the Free Alternatives That Actually Work Better

Every month, my API bills were climbing. Twilio for SMS, SendGrid for email, Mapbox for geocoding, Cloudinary for images, Algolia for search. Together, they ate $300+/month from my side projects.

Then I spent a month replacing every single one. Here's what I found.

1. Twilio → TwiML + SignalWire

Twilio charges $0.0079 per outbound SMS segment. For a project sending ~5,000 notifications/month, that's ~$40.

SignalWire offers the same TwiML API compatibility but at roughly 60% lower cost. The migration? Literally changing the base URL in my environment variables.

# Before
TWILIO_BASE_URL = "https://api.twilio.com"

# After  
TWILIO_BASE_URL = "https://your-space.signalwire.com"
Enter fullscreen mode Exit fullscreen mode

For smaller projects, Vonage has a free tier that covers 100 SMS/month, and TextBelt offers a completely free API (with rate limits) for testing.

2. SendGrid → Resend + SMTP

SendGrid's free tier gives 100 emails/day. That sounds fine until you hit day 15 of a product launch and your transactional emails start getting throttled.

Resend gives 3,000 emails/month free and has the cleanest developer experience I've ever used:

import { Resend } from 'resend';
const resend = new Resend('re_YOUR_KEY');

await resend.emails.send({
  from: 'app@yourdomain.com',
  to: ['user@example.com'],
  subject: 'Welcome aboard',
  html: '<h1>Your account is ready</h1>'
});
Enter fullscreen mode Exit fullscreen mode

Need more? Postmark offers 100/month free with better deliverability than most paid options. For self-hosted, Mailpit is a dev SMTP server that's perfect for local testing.

3. Mapbox → Leaflet + OpenStreetMap

Mapbox charges $5/month minimum after the free 50K loads. For hobby projects with a simple map, this is wasteful.

Leaflet + OpenStreetMap tiles gives you the same interactive maps with zero cost:

<link rel="stylesheet" href="https://unpkg.com/leaflet/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>

<div id="map" style="height: 400px"></div>
<script>
  const map = L.map('map').setView([1.3521, 103.8198], 12);
  L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '© OpenStreetMap'
  }).addTo(map);
</script>
Enter fullscreen mode Exit fullscreen mode

For geocoding specifically, Nominatim (OpenStreetMap's geocoder) and Photon are both free and fast enough for most apps.

4. Cloudinary → Sharp + S3

Cloudinary is incredible for image manipulation — on-the-fly resizing, format conversion, face detection. But at $99/month for anything beyond the most basic usage, it gets expensive.

I replaced it with Sharp (Node.js image processing) + AWS S3 or Cloudflare R2 (zero egress fees):

const sharp = require('sharp');
const { S3Client, PutObjectCommand } = require('@aws-sdk/client-s3');

async function processAndUpload(file, width) {
  const buffer = await sharp(file)
    .resize(width, null, { withoutEnlargement: true })
    .webp({ quality: 80 })
    .toBuffer();

  await s3.send(new PutObjectCommand({
    Bucket: 'my-assets',
    Key: `resized/${Date.now()}.webp`,
    Body: buffer,
    ContentType: 'image/webp'
  }));
}
Enter fullscreen mode Exit fullscreen mode

Cloudflare R2 specifically saves me $15-20/month in S3 egress fees alone.

5. Algolia → Meilisearch / Typesense

Algolia's developer plan limits you to 10K requests/month. My search feature hit that in 3 days.

Meilisearch is a self-hosted, typo-tolerant search engine that's terrifyingly fast. Setup takes 5 minutes:

curl -L https://install.meilisearch.com | sh
./meilisearch
Enter fullscreen mode Exit fullscreen mode
const { MeiliSearch } = require('meilisearch');
const client = new MeiliSearch({ host: 'http://localhost:7700' });

await client.index('articles').addDocuments([
  { id: 1, title: 'Building search', content: '...' },
  { id: 2, title: 'Free alternatives', content: '...' }
]);

const results = await client.index('articles').search('free APIs');
Enter fullscreen mode Exit fullscreen mode

If self-hosting isn't your thing, Meilisearch Cloud offers 250 documents free, and Typesense Cloud gives 25K requests/month on their free tier.

The Total Savings

Service Before After Savings
SMS (Twilio → SignalWire) $40/mo $16/mo $24
Email (SendGrid → Resend) $15/mo $0/mo $15
Maps (Mapbox → Leaflet) $5/mo $0/mo $5
Images (Cloudinary → Sharp+R2) $99/mo $5/mo $94
Search (Algolia → Meilisearch) $49/mo $0/mo $49
Total $208/mo $21/mo $187/mo

When Paid Still Makes Sense

I'm not saying "never pay for APIs." Here's when I'd still pay:

  • Production reliability SLAs — if downtime costs you real money
  • Compliance — HIPAA, SOC2, GDPR-ready providers
  • Complex features — Cloudinary's video transcoding, Algolia's AI relevance tuning
  • You're funded — your time is worth more than the API cost

But for side projects, indie products, and learning? The free alternatives have gotten shockingly good.

Resources I Keep Bookmarked

I compiled all the free alternatives I've tested into a reference document — it covers 50+ categories from authentication to analytics. It's one of the resources in my Duc Store alongside Docker cheat sheets and AI prompt libraries if you want to grab it.

What paid API did you replace with a free alternative? I'm always looking for the next one to swap out.


If you found this useful, follow me for more practical developer content. I write about cutting costs, building faster, and shipping side projects.

Top comments (0)