Programmatic access to UMOX AI Link Exchange. Bulk buy up to 100 placements per request. USDT-only. Bearer token auth.
Every request must include the Authorization header with a bearer token. Get your token at https://umox.net/adv/api-tokens (advertiser cabinet).
Authorization: Bearer um_abcdefghij1234567890...
https://www.umox.net/api/v1
60/minAll GET endpoints (per token)
10/minPOST /placements (bulk buy)
/mecurl https://www.umox.net/api/v1/me \ -H "Authorization: Bearer YOUR_TOKEN"
/sitesniche, language, tier, traffic_min, geo, limit.curl "https://www.umox.net/api/v1/sites?niche=adult&traffic_min=10000&limit=20" \ -H "Authorization: Bearer YOUR_TOKEN"
/sites/{id}curl https://www.umox.net/api/v1/sites/42 \ -H "Authorization: Bearer YOUR_TOKEN"
/placementscurl -X POST https://www.umox.net/api/v1/placements \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"items": [
{
"site_id": 42,
"target_url": "https://mybrand.com/promo",
"brand_name": "MyBrand",
"format_type": "description_context",
"anchor_type": "branded",
"anchor_text": "MyBrand"
},
{
"site_id": 43,
"target_url": "https://mybrand.com/promo",
"brand_name": "MyBrand",
"format_type": "blog_article",
"anchor_type": "naked_url",
"anchor_text": "mybrand.com/promo"
}
]
}'
{
"created": [
{"input_index":0,"placement_id":123,"site_domain":"a.com","price_usd":15.00,"status":"pending_publisher_accept"},
{"input_index":1,"placement_id":124,"site_domain":"b.com","price_usd":12.00,"status":"pending_publisher_accept"}
],
"failed": [],
"summary": {"total":2,"created":2,"failed":0,"spent_usd":27.00,"balance_after":473.00}
}
/placementsstatus, limit.curl "https://www.umox.net/api/v1/placements?status=active" \ -H "Authorization: Bearer YOUR_TOKEN"
/placements/{id}curl https://www.umox.net/api/v1/placements/123 \ -H "Authorization: Bearer YOUR_TOKEN"
/transactionstype, status, from, to, limit.curl "https://www.umox.net/api/v1/transactions?type=placement_buy&limit=100" \ -H "Authorization: Bearer YOUR_TOKEN"
description_context×1.5 - AI paragraph in video description (max SEO weight)
blog_article×1.5 - Contextual link in blog article body
below_player_block×1.0 - AI-generated block under player
footer_sitewide×0.5 - Site-wide footer link (economy)
brandedBrand name (safest for SEO)
naked_urlURL as clickable text
keywordSEO keyword (boosts but risky if overused)
generic"click here", "read more" (camouflage)
Recommended mix: 30% branded / 30% naked_url / 20% keyword / 20% generic. UI tool available in the advertiser cabinet.
All errors return HTTP 4xx/5xx with JSON body {"error":"message","code":"machine_code"}.
401Missing/invalid token
403Banned user or wrong role
404Not found
422Validation errors (Laravel default format)
429Rate limit exceeded