All B2B endpoints require an API key via the X-API-Key header. Some endpoints require Pro tier access.
Suggestions
Get market suggestions based on entity signals and attribute changes.
Query Parameters
Response
{
"success": true,
"suggestions": [
{
"id": "suggestion-uuid",
"entity": {
"slug": "patrick-mahomes",
"displayName": "Patrick Mahomes"
},
"signal": "injury_status changed to questionable",
"market": {
"title": "Chiefs to win Super Bowl",
"venue": "polymarket",
"price": 0.35
},
"confidence": 0.85,
"createdAt": "2025-01-28T10:00:00Z"
}
],
"pagination": {
"total": 50,
"limit": 20,
"offset": 0
}
}
curl -H "X-API-Key: your_api_key" \
"https://api.marketmotion.xyz/api/b2b/suggestions?category=sports&limit=10"
Trending Suggestions
Get currently trending market suggestions.
Query Parameters
Response
{
"success": true,
"suggestions": [...]
}
List People
Get people entities with market exposure and alert activity.
Query Parameters
Response
{
"success": true,
"people": [
{
"slug": "patrick-mahomes",
"displayName": "Patrick Mahomes",
"entityType": "person",
"category": "sports",
"marketCount": 12,
"alertCount7d": 3
}
],
"pagination": {
"total": 500,
"limit": 20,
"offset": 0
}
}
curl -H "X-API-Key: your_api_key" \
"https://api.marketmotion.xyz/api/b2b/people?category=sports&subcategory=nfl&limit=20"
Get Person
Get detailed person information with attributes, relationships, markets, and recent alerts.
Path Parameters
Response
{
"success": true,
"person": {
"slug": "patrick-mahomes",
"displayName": "Patrick Mahomes",
"attributes": [
{ "key": "injury_status", "value": "questionable", "source": "ESPN" }
],
"relationships": [...],
"markets": [...],
"recentAlerts": [...]
}
}
Person Markets
Get markets for a person with cross-venue spread data.
Path Parameters
Query Parameters
Response
{
"success": true,
"markets": [
{
"title": "Chiefs to win Super Bowl",
"venue": "polymarket",
"price": 0.35
}
],
"crossVenue": [
{
"outcomeLabel": "Chiefs to win",
"spread": 0.03,
"signalType": "mispricing"
}
]
}
Market Gaps
Get detected market gaps — entities with strong signals but no corresponding market.
Requires Pro tier API key.
Query Parameters
Minimum signal count threshold
Response
{
"success": true,
"gaps": [
{
"entity": {
"slug": "some-entity",
"displayName": "Entity Name"
},
"signalCount": 15,
"category": "sports",
"reason": "High activity with no prediction market coverage"
}
],
"total": 25
}
Get Gap
Get detailed gap information for a specific entity.
Requires Pro tier API key.
Path Parameters
Response
{
"success": true,
"gap": {
"entity": { ... },
"signals": [...],
"markets": [...]
}
}
Webhooks
Webhook endpoints allow you to receive real-time notifications when events occur.
Requires Pro tier API key.
List Webhooks
List your configured webhook endpoints.
{
"success": true,
"endpoints": [
{
"id": "webhook-uuid",
"url": "https://your-server.com/webhook",
"events": ["alert.injury", "alert.arbitrage"],
"isActive": true,
"description": "Production webhook"
}
]
}
Create Webhook
Register a new webhook endpoint.
Body:
{
"url": "https://your-server.com/webhook",
"events": ["alert.injury", "alert.arbitrage", "gap.detected"],
"description": "My webhook"
}
Response:
{
"success": true,
"id": "webhook-uuid",
"secret": "whsec_..."
}
Update Webhook
Update a webhook endpoint.
Body:
{
"url": "https://your-server.com/webhook-v2",
"events": ["alert.injury"],
"isActive": true,
"description": "Updated webhook"
}
Delete Webhook
Delete a webhook endpoint.
Test Webhook
Send a test payload to your webhook endpoint.
Response:
{
"success": true,
"statusCode": 200
}
Webhook Deliveries
Get delivery history for a webhook endpoint.
Query Parameters:
Response:
{
"success": true,
"deliveries": [
{
"id": "delivery-uuid",
"event": "alert.injury",
"statusCode": 200,
"deliveredAt": "2025-01-28T10:00:00Z",
"payload": { ... }
}
],
"pagination": {
"total": 100,
"limit": 20,
"offset": 0
}
}
Webhook Events
| Event | Description |
|---|
alert.injury | Injury status change detected |
alert.arbitrage | Cross-venue mispricing detected |
alert.crowding | Position crowding detected |
alert.political | Political change detected |
alert.finance | Financial indicator change |
alert.rumor | Unconfirmed rumor detected |
gap.detected | Market gap identified |