Meridian Edge — Prediction Market Consensus SDK
Real-time consensus probabilities aggregated from multiple regulated prediction markets. One API, one number per event.
Install
pip install meridianedge
Quick Start
from meridianedge import MeridianEdge
me = MeridianEdge(api_key="YOUR_KEY") # Free key at meridianedge.io
# Get consensus for all NBA events
events = me.consensus(sport="NBA")
for e in events:
print(f"{e['event_name']}: {e['consensus_prob']:.1%}")
# Get divergence opportunities
opps = me.opportunities(min_score=5)
# Get recent market signals
signals = me.signals()
Free API Key
Get one instantly at meridianedge.io — no credit card required.
- Free: 100 calls/day
- Starter ($29/mo): 500 calls/day + opportunities + signals
- Pro ($99/mo): 5,000 calls/day + fair value + platform breakdown
- Full pricing
Endpoints
| Method | Description |
|---|---|
consensus() |
Aggregated consensus probabilities with spread + movement |
opportunities() |
Divergence opportunities ranked by score |
signals() |
Recent market signals with direction |
markets() |
Active markets list |
settlements() |
Settlement history with verified outcomes |
embed() |
Lightweight widget data (no auth required) |
Examples
NBA win probabilities
from meridianedge import MeridianEdge
me = MeridianEdge(api_key="me_free_demo000000000000")
nba = me.consensus(sport="NBA", limit=5)
for game in nba:
prob = game["consensus_prob"]
name = game["event_key"]
move = game.get("movement", "stable")
print(f"{name}: {prob:.1%} ({move})")
Find high-divergence markets
# Markets where platforms disagree most
opps = me.opportunities(min_score=5, limit=10)
for o in opps:
print(f"{o['event_key']}: score={o.get('score')}, spread={o.get('spread'):.1%}")
Embed widget data (no auth)
me = MeridianEdge() # no key needed for embed
data = me.embed(sport="NHL", limit=3)
for item in data:
print(f"{item['event_key']}: {item['consensus_prob']:.1%}")
Response Format
Every consensus() response item includes:
| Field | Type | Description |
|---|---|---|
event_key |
string | Unique event identifier |
event_name |
string | Human-readable name |
sport |
string | Sport or category |
consensus_prob |
float | Aggregated probability (0.0–1.0) |
confidence |
string | LOW / MEDIUM / HIGH |
spread |
float | Spread between highest and lowest market |
movement |
string | up, down, or stable vs 30 min ago |
movement_pct |
float | % change over last 30 minutes |
sparkline |
array | 6 recent values for trend visualization |
ts |
string | ISO 8601 timestamp |
Links
Data Coverage
- Sports: NBA, NFL, MLB, NHL, MLS, college sports, boxing
- Politics: US elections, ballot measures, appointment markets
- Economics: Federal Reserve rate decisions, macro indicator markets
- Update frequency: Every 10 minutes during active market hours
For informational purposes only. Not investment advice.
License
MIT
Metadata
Release files for meridianedge 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| meridianedge-0.1.0.tar.gz | 4.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| meridianedge-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.5 kB
Release files / meridianedge-0.1.0.tar.gz
| Download URL | meridianedge-0.1.0.tar.gz |
|---|---|
| Size | 4.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bb05237f1d449f40618bafa3c36c75d4ac03277c30a8c09082a673981134d7e0
|
|
BLAKE2b-256 checksum How to use checksums |
d4fdb84a0bc7eb3c69a2c9ea69ae0f79697db0fe1e7fab09d23b871b2f241128
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.12.3
|
Release files / meridianedge-0.1.0-py3-none-any.whl
| Download URL | meridianedge-0.1.0-py3-none-any.whl |
|---|---|
| Size | 4.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
88677cf0ca6a4c704c22109637fca7dd7443274121a27e099803232a50fe290e
|
|
BLAKE2b-256 checksum How to use checksums |
13749fc7493bb6690059a74fde966878f8092e63d2b82c58eb73272c8635e44e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.12.3
|