IBRAVRA Media Network
Comparisons • 12 min read

Elasticsearch vs OpenSearch vs Algolia: Search Pricing Playbook

Elastic Cloud sells RAM-hours, Amazon OpenSearch Service sells instance-hours plus EBS storage, and Algolia sells search requests and records. The same store pays $307.85, $699.92, or $4,455.00 a month for the same workload — worked here on real November 2026 rates.

By Enow A. Jovial • Published 2026-11-07

Three meters, three bills

Elastic Cloud Hosted sells RAM-hours: you rent GB of memory with CPU and SSD disk included in that rate. Amazon OpenSearch Service sells instance-hours plus EBS storage: you rent named instances and pay per GB of gp3 every month. Algolia sells outcomes: you pay per 1,000 search requests and per 1,000 records stored.

Rates come from the AWS Price List published November 6, 2026, Algolia's pricing page as fetched November 7, 2026, and Elastic's billing documentation plus a price-list read from October 2026.

> [!KEY TAKEAWAY]

> The meter decides the winner before the workload does: record-heavy catalogs bleed on Algolia, RAM-heavy clusters bleed on Elastic Cloud Hosted, and idle clusters bleed on serverless.

Profiles: A is a small store (1M records, 100K searches a month), B is a growing catalog (10M records, 1M searches), C is a large marketplace (100M records, 10M searches). A month is 730 hours. Record size is a stated assumption — about 1 KB of JSON per record — used only to size the managed clusters.

Algolia: the bill follows your traffic

The free plan covers 10,000 search requests a month, 50,000 records, 5,000 recommendation requests and 5,000 crawls, with no credit card required. Grow starts at $0 a month: $0.50 per additional 1,000 search requests after the first 10,000, and $0.40 per additional 1,000 records after the first 100,000. Grow Plus keeps the $0.40 record rate but charges $1.75 per additional 1,000 search requests, adding AI Synonyms, AI Ranking, 10,000 rules per index, and 90 days of analytics retention. Elevate is custom pricing: volume discounts, NeuralSearch, 99.99% availability, SSO, enhanced SLA.

!Algolia Grow Plus pricing: 10K search requests a month included, then $1.75 per additional 1K search requests; 100K records included, then $0.40 per additional 1K records

$

\text{Algolia Monthly} = \frac{\text{Searches} - 10{,}000}{1{,}000} \times \text{Request Rate} + \frac{\text{Records} - 100{,}000}{1{,}000} \times \$0.40

$

| Profile | Searches leg (Grow) | Records leg | Grow total | Grow Plus total |

| :--- | :--- | :--- | :--- | :--- |

| A — 1M records / 100K searches | 90 × $0.50, $45.00 | 900 × $0.40, $360.00 | $405.00 | $517.50 |

| B — 10M records / 1M searches | 990 × $0.50, $495.00 | 9,900 × $0.40, $3,960.00 | $4,455.00 | $5,692.50 |

| C — 100M records / 10M searches | 9,990 × $0.50, $4,995.00 | 99,900 × $0.40, $39,960.00 | $44,955.00 | $57,442.50 |

At every profile the record leg is eight to nine times the search leg. Add-ons: recommendation requests at $0.60 per additional 1,000 after 10,000 included a month, and crawler runs at $0.80 per additional 1,000 after 10,000 included.

> [!WARNING]

> Algolia counts copies, not just products. Each pre-sort creates a copy and increases the total, and over-quota is billed on the maximum records reached in the month. Pre-sorting one catalog by price, rating, and newest arrival can triple the record count — and the bill — before a single extra shopper searches. Algolia ignores the 3 highest-record days each month, which softens a one-day reindex spike, not a permanent pre-sort.

Amazon OpenSearch Service: the bill follows your cluster

Managed OpenSearch is the most transparent bill of the three: AWS publishes every rate in its price list, with no minimum fee. You pay instance hours, EBS storage, and data transfer, with on-demand and Reserved Instance pricing. In US East (N. Virginia), on-demand rates run from $0.036 an hour for t3.small.search (2 vCPU, 2 GB RAM) through $0.068 for m7g.medium.search (1 vCPU, 4 GB), $0.135 for m7g.large.search (2 vCPU, 8 GB), and $0.271 for m7g.xlarge.search (4 vCPU, 16 GB). EBS gp3 costs $0.122 per GB-month, gp2 $0.135, magnetic $0.067, Provisioned IOPS storage $0.169.

!AWS OpenSearch pricing page: an m7g.medium.search instance at $0.068 an hour on-demand costs $1.632 a day, with Extended Support at $0.0065 per Normalized Instance Hour

Three data nodes, one per availability zone:

$

\text{OpenSearch Monthly} = 3 \times \text{Instance Rate} \times 730 + \text{Storage GB} \times \$0.122

$

| Profile | Nodes | Instance cost | Storage (gp3) | Monthly total |

| :--- | :--- | :--- | :--- | :--- |

| A | 3 × m7g.medium.search | 3 × $49.64, $148.92 | 20 GB, $2.44 | $151.36 |

| B | 3 × m7g.large.search | 3 × $98.55, $295.65 | 100 GB, $12.20 | $307.85 |

| C | 3 × m7g.xlarge.search | 3 × $197.83, $593.49 | 500 GB, $61.00 | $654.49 |

Inter-node transfer is free and automated snapshots are stored free for 14 days, so neither appears in these totals. Commitments change the picture more than any tuning does. A three-year All Upfront Reserved Instance cuts the rate by 52 percent: Profile B's nodes drop to $98.55 × (1 − 0.52) = $47.30 a month each, so the cluster costs $141.91 plus $12.20 of storage, or $154.11 a month. A one-year No Upfront Reserved Instance cuts 31 percent: $68.00 per node, $204.00 for the cluster, $216.20 with storage.

UltraWarm storage costs $0.024 per GB-month against $0.122 for gp3, but each ultrawarm1.medium.search node costs $0.238 an hour, or $173.74 a month. The break-even is $173.74 ÷ ($0.122 − $0.024) = 1,773 GB of warm data per UltraWarm node. Below roughly 1.8 TB per node, gp3 is cheaper; above it, UltraWarm wins.

> [!TIP]

> Price the Reserved Instance before you price the cluster. At Profile B, a three-year All Upfront commitment takes the managed bill from $307.85 to $154.11 a month — a bigger saving than any instance-type swap.

Elastic Cloud Hosted: the bill follows your RAM

Elastic Cloud Hosted prices capacity per GB of RAM per hour, with CPU and disk scaled with RAM and included in that rate. Pricing is linear: 8 GB of RAM costs eight times 1 GB, and three availability zones cost three times one. Elastic publishes its rates through a JavaScript pricing calculator, so the dollar rates below come from ivinco's October 2026 read of Elastic's own price list, cross-checked against Elastic's billing documentation.

In AWS us-east-1, the m6gd hot-data instance costs $0.0282 per GB-hour on Standard and $0.0562 on Enterprise. The tiers start at $99 a month for Standard, $114 for Gold, $131 for Platinum, and $184 for Enterprise, for a 120 GB, two-zone production configuration. Platinum and Enterprise carry a 99.95% monthly uptime SLA.

$

\text{Elastic Monthly} = \text{Total RAM GB} \times \$0.0282 \times 730 + \text{Kibana RAM GB} \times \$0.0282 \times 730

$

One GB-hour costs $0.0282 × 730 = $20.586 per GB per month. At Profile B, data out of about 10 GB and snapshot storage of about 40 GB both sit inside the 100 GB free allowances; Profile C exceeds both.

| Profile | Data RAM | Data cost | Kibana | Extras | Monthly total |

| :--- | :--- | :--- | :--- | :--- | :--- |

| A | 2 zones × 4 GB = 8 GB | 8 GB, $164.69 | 1 GB, $20.59 | $0 | $185.28 |

| B | 2 zones × 16 GB = 32 GB | 32 GB, $658.75 | 2 GB, $41.17 | $0 | $699.92 |

| C | 2 zones × 64 GB = 128 GB | 128 GB, $2,635.01 | 4 GB, $82.34 | $2.50 data out + $13.20 snapshots | $2,733.05 |

On Enterprise, Profile B doubles: $0.0562 × 730 = $41.026 per GB-month, so 32 GB costs $1,312.83 and 2 GB of Kibana costs $82.05, for $1,394.88 a month. Data in is free, data out costs $0.05 per GB after the allowance, and traffic between nodes costs $0.016 per GB on AWS and Google Cloud while Elastic waives it on Azure. Snapshot API calls cost $0.0018 per 1,000 requests after 100,000 free a month.

Serverless on both sides

Both vendors offer a serverless shape, and both carry a floor that surprises buyers who expect zero. OpenSearch Serverless bills compute in OpenSearch Compute Units: one OCU is 6 GB of RAM plus matching vCPU, GP3 storage, and data transfer to managed storage. Search and indexing OCUs each cost $0.24 per OCU-hour, hot storage $0.30 per GB-month, warm storage $0.024. One always-on OCU costs $0.24 × 730 = $175.20 a month, so a collection holding 2 search OCUs and 2 indexing OCUs around the clock costs 4 × $175.20 = $700.80 a month before storage.

Elastic Cloud Serverless bills in virtual compute units: ingest VCUs from $0.14 an hour, search VCUs from $0.09, ML VCUs from $0.07, storage $0.047 per GB-month, data out $0.05 per GB after 50 GB free. Ingest VCUs scale to zero when nothing is being indexed, but search VCUs never scale to zero: Elastic keeps a baseline of search capacity provisioned so data stays instantly queryable and bills it at a reduced rate when idle. Elastic's own worked examples: a development project with 2 GB searchable costs $24 a month on-demand or $27 on the performant setting, and a production project with 20 GB searchable costs $190 or $210. The redis-vs-memcached-vs-valkey-in-memory-caching-pricing guide shows the same pattern in caching: a meter that never sleeps sets the floor.

Worked example: one store, three invoices

Worked example: a store at Profile B asks all three vendors for the same month. Algolia Grow invoices $4,455.00, and Grow Plus $5,692.50, with records supplying $3,960.00 of the Grow total. Amazon OpenSearch Service invoices $307.85 on-demand, $216.20 on a one-year No Upfront Reserved Instance, or $154.11 on a three-year All Upfront Reserved Instance. Elastic Cloud Hosted invoices $699.92 on Standard or $1,394.88 on Enterprise. Elastic Cloud Serverless lands near Elastic's own production example of $190 to $210 a month for 20 GB searchable.

At Profile A, Algolia Grow at $405.00 costs more than the other two combined; at Profile C it invoices $44,955.00 against $654.49 and $2,733.05. The apache-kafka-vs-rabbitmq-vs-redpanda-streaming-pricing guide reaches the same verdict for messaging.

Which one to pick

| If you... | Pick | Why | Authority |

| :--- | :--- | :--- | :--- |

| Catalog under 5M records, zero operations wanted | Algolia Grow | No cluster to run; the record meter is affordable at small scale | Algolia pricing page |

| Search inside an AWS-heavy stack | OpenSearch managed | Cheapest at all three profiles; VPC, IAM, CloudWatch stay native | AWS Price List |

| Need current Elasticsearch features, not the 7.10 fork | Elastic Cloud Hosted | AWS runs OpenSearch and legacy Elasticsearch OSS up to 7.10 only | ivinco, Oct 2026 |

| Spiky or tiny traffic, long idle nights | Elastic Cloud Serverless | Ingest VCUs scale to zero; vendor examples start at $24/month | Elastic billing docs |

| Must prove 99.99% availability in a contract | Algolia Elevate or Elastic Enterprise | Algolia Elevate publishes 99.99% and Elastic Enterprise 99.95%; OpenSearch publishes 99.9% — short of 99.99% | Algolia pricing page; Elastic pricing page; AWS OpenSearch Service SLA |

| Years of rarely searched history | OpenSearch + UltraWarm | Break-even near 1.8 TB of warm data per node | AWS Price List |

One boundary matters more than any price: Amazon OpenSearch Service does not run current Elasticsearch. AWS renamed the service in 2021; it runs OpenSearch plus legacy Elasticsearch OSS up to version 7.10. Current Elasticsearch is at 9.5.6 and runs on AWS only through Elastic Cloud Hosted, the AWS Marketplace, or a self-managed cluster. A team that needs a 9.x feature cannot buy its way there on OpenSearch at any price — the railway-vs-render-vs-fly-io-paas-hosting-pricing-playbook guide makes the same point for hosting.

What breaks, and what it costs

On Algolia, the failure is silent growth: a merchandising rule adds a pre-sort, the record count climbs, and the bill rises the next month with no alert, because the meter counts copies. On OpenSearch managed, the failure is version drift: run an engine version past its support window and Extended Support adds $0.0065 per Normalized Instance Hour — on an m7g.medium.search at $0.068 an hour that is $0.312 a day on top of $1.632, and past an extended deadline the surcharge equals the full instance cost, doubling the bill. On Elastic Cloud Hosted, the failure is the tier trap: a team that buys Enterprise for its 30-minute support response pays $0.0562 per GB-hour instead of $0.0282 on every GB, so a Profile B cluster costs $1,394.88 instead of $699.92 for support it may never call. On either serverless shape, the failure is assuming idle means free.

Self-hosted OpenSearch is the fourth invoice. The software licence costs $0 — OpenSearch is Apache 2.0 — so the bill is the infrastructure underneath plus the operator time on top. The ceiling is proven: if your self-hosted infrastructure plus on-call time costs more than $307.85 a month at Profile B, the managed service is cheaper. Use the pricing calculator to run your own infrastructure quote against the managed totals above.

The execution checklist

1. Count records and searches for the last 30 days. Pull the real numbers from your analytics and your index.

2. Size the index in GB, not in records. A 10M-record catalog at 1 KB per record is about 10 GB raw, roughly 20 GB with index overhead.

3. Price all three vendors at your profile. Run the formulas above with your counts. If Algolia's record leg is more than half the total, look hard at the managed options.

4. Check the Elasticsearch version your features need. If anything needs 8.x or 9.x, OpenSearch is out regardless of price.

5. Decide the commitment before the cluster. Profile B saves $91.65 a month on a one-year No Upfront term and $153.74 on a three-year All Upfront term.

6. Set the SLA you must prove, in writing. 99.99% on Algolia Elevate; 99.95% on Elastic Platinum and Enterprise.

7. Cap the Algolia record count with an alert. Alert at 80% of the included 100,000.

8. Put a 90-day review on the calendar. Re-run the three formulas with fresh counts.

> [!FOUNDER]

> "Every search vendor prices a different thing, so the cheapest vendor is the one whose meter ignores what you do most. Count your records and your searches before you count dollars. The team that buys on the headline rate and discovers its meter later pays for that discovery every month, in the one line of the invoice it never read."

> — Enow A. Jovial, Founder & Chief Executive Officer

Closing checklist

1. Records and searches counted from real traffic, not the roadmap.

2. All three vendors priced at the same profile with the formulas above.

3. Elasticsearch version requirement checked against the 7.10 fork boundary.

4. Reserved Instance or tier decision made before the first cluster is created.

5. Record-count alert set at 80% of the Algolia inclusion.

6. 90-day re-price on the calendar with fresh counts.