NewAPIVerve Academy: free courses and certifications anyone can verify.Explore the Academy →

MurmurHash API

POST

Hash strings fast for data partitioning and bloom filters.

MurmurHash generates fast, non-cryptographic hashes using the MurmurHash3 algorithm. Ideal for hash tables, data partitioning, bloom filters, and checksums where cryptographic security isn't needed.

Try it — live request, no key required

Request
POSTapi.apiverve.com/v1/murmurhash
Body
Verification
Format

No key required to try it. Get a key to use it in your app.

Example
{
  "status": "ok",
  "error": null,
  "data": {
    "hash": 1586663183,
    "hashHex": "5e928f0f",
    "variant": "murmur3_32",
    "seed": 0
  }
}

About the MurmurHash API

A MurmurHash API that returns MurmurHash3 values for any text, in the 32-bit or 128-bit variant, with an optional seed. Send a string and get back the hash as a number and as a lowercase hex string, so you can compare it with what your own code, database or data pipeline produces.

MurmurHash is fast and spreads keys evenly, which is why it sits behind hash tables, bloom filters, sharding keys and sampling buckets. Not suitable for cryptographic purposes - use for data structures, deduplication, consistent hashing, and other performance-critical applications where the goal is distribution rather than secrecy. It is also handy for checking that two systems agree on a hash, or for computing bucket assignments in a no-code tool that has no hashing function of its own.

Every plan, including the Free plan, returns the full result for both variants. Change the seed to get an independent hash family from the same input, which is how bloom filters and count-min sketches derive several hash functions from one algorithm.

How it works

MurmurHash implements MurmurHash3 in two forms. variant=32 (the default) is MurmurHash3_x86_32; variant=128 is MurmurHash3_x86_128, transcribed from Austin Appleby's reference code. Any variant other than 32 produces the 128-bit hash.

The text you POST is hashed one byte per character, taking the low eight bits of each JavaScript character code. For ASCII text this is identical to hashing the UTF-8 bytes, so results match standard MurmurHash3 implementations. For characters outside ASCII it is not: an accented letter or emoji contributes only the low byte of its code, so hashes of non-ASCII text will not match a library that hashes UTF-8. Encode such input, for example as hex or Base64, before comparing across systems.

seed is parsed as an integer and defaults to 0. The same text and seed always give the same hash, and changing the seed gives an unrelated value.

For the 32-bit variant, hash is the result as an unsigned integer from 0 to 4,294,967,295, and hashHex is the same value as eight hex digits, zero-padded. For the 128-bit variant both hash and hashHex contain the same 32-character hex string, because the value is too large to return as a JSON number. It is the four 32-bit state words in order, each written in little-endian byte order. variant is returned as murmur3_32 or murmur3_128, and seed echoes the seed used. There is no plan-based difference in the output.

What people use it for

Hash Tables
Generate keys for hash-based data structures
Data Partitioning
Consistently distribute data across shards
Bloom Filters
Fast hashing for probabilistic data structures
Deduplication
Quickly identify duplicate records

Ways to call it

One endpoint, many ways in — REST with JSON, XML, YAML and CSV, plus GraphQL and an MCP interface for AI agents.

JSON
Default REST response
XML
Markup format
YAML
Human-readable
CSV
Tabular export
Beta
GraphQL
Query language
New
MCP
For AI agents

Other ways to use MurmurHash

Same data, same APIVerve account, same credit balance — one key works on all of them.

Questions.

Common questions about the MurmurHash API.

Read the docs →
Which MurmurHash variants are supported?
The API supports both 32-bit and 128-bit MurmurHash3 variants. You choose your preferred variant with each request, and the response confirms the variant applied alongside the generated hash.
Can I supply a custom seed for consistent hashing?
Yes. You can supply an optional integer seed value with your text to ensure consistent, reproducible hash outputs across your applications and partitioned datasets.
Can I use these hashes to store passwords or secure tokens?
No. MurmurHash3 is strictly non-cryptographic and should never be used for cryptographic security or password hashing. It is intended for performance-critical data structures like hash tables, bloom filters, and deduplication systems.
What would 50,000 hash calculations a month cost me?
At 1 credit per call, 50,000 calculations use 50,000 credits, which is a quarter of the Starter plan's 200,000 monthly credits. That works out to about $0.15 per 1,000 calls. The Free plan includes 200 calls per month for testing.
What data format does the hash function accept?
The endpoint accepts any standard text string you provide. It processes the string directly and returns the calculated hash along with the seed and variant used.

Ready to build with MurmurHash? Start with 200 free credits — one key unlocks all 300+ APIs.

Explore the catalog

300+ APIs on the same key and the same response shape.

Browse all APIs