[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"api-page:fonbet-odds":3},{"status":4,"api":5,"seo":184},"success",{"blocked":6,"description":7,"about":8,"stats":9,"name":11,"title":12,"slug":13,"logo":14,"created_at":15,"agent":16,"user":28,"endpoint_groups":32,"faqs":108,"features":133,"periodic_plans":134,"payasyougo_plans":182,"releases":183,"last_updated":18},false,"Fonbet Greece odds as JSON: every sport, live and pre-match, in one file. Updated every few seconds.","Live and pre-match odds from Fonbet, served as JSON exactly as Fonbet publishes them — every market, line and id, unchanged.\n\nFiles (1)\n\n- site_livepre_fonbet.json — Every Fonbet event of every sport, live (place: \"live\") and pre-match (place: \"line\"), with odds in customFactors\n\nFreshness: about every 4–5 s (live and pre-match in one file).\nOdds: Decimal (v), keyed by numeric factor id (f); lines in pt.\nCross-bookmaker id: None — match on team1, team2 and startTime.\n\nHow to use it\n\n1. GET /v1/files lists the files your subscription can read.\n2. GET /v1/data/{filename} returns {\"company\", \"file\", \"updated_at\", \"data\"}; data is Fonbet's own JSON.\n3. Poll with If-Modified-Since (send back the Last-Modified header): you get 304 Not Modified until the file changes. Request gzip — responses arrive about 6–10 times smaller.\n\nUp to 10 requests per second per file at the origin; your plan's quota is set on this listing.\n\nDocumentation: field map, real samples and a tested Python parser for match-result odds — https://arbplay.app/api/fonbet-odds-api · full reference — https://arbplay.app/api/docs\n\nArbPlay is independent and not affiliated with or endorsed by Fonbet or its operator. Informational use; the API does not place bets.",{"score":10},"2.46","Fonbet Odds","Fonbet Odds API","fonbet-odds","https://cdn.jojapi.com/api/75c4833d-5163-428c-9d61-95e05565a500","2026-09-11 09:16:32",{"enabled":17,"closed":18,"request_enabled":17,"catalog_url":19,"discovery_url":20,"directory_url":21,"rails":22,"networks":25,"docs":27},true,null,"https://fonbet.jojapi.net/_jojapi/agent/plans","https://fonbet.jojapi.net/.well-known/x402","https://agents.jojapi.net/apis/fonbet-odds",[23,24],"x402","mpp",[26],"eip155:8453","https://docs.jojapi.com/consumers/agents",{"nick":29,"name":30,"verified":17,"website":31},"arbplay","ArbPlay","https://arbplay.app",[33],{"endpoints":34,"name":107,"description":58,"ungrouped":17,"open":6},[35,82],{"blocked":6,"hidden":6,"agent_price":36,"credits":18,"flexible_credits_description":18,"consumptions":37,"description":38,"method":39,"name":40,"url_path":41,"root_url":42,"parameters":43,"responses":60,"result_stats":78},0.01,[],"Returns one odds file inside an envelope: {\"company\", \"file\", \"updated_at\", \"data\"}. data is the bookmaker's own JSON, unchanged; updated_at is when the file was last refreshed (UTC). The same time is sent as the Last-Modified header — send it back as If-Modified-Since to get 304 Not Modified until the file changes. Request gzip: responses arrive about 6–10 times smaller.  Errors (body {\"detail\": \"…\"}): 400 invalid filename · 401 missing or invalid API key · 403 unknown file or a file of another bookmaker · 404 file temporarily unavailable · 429 too many requests (see Retry-After) · 500 file temporarily invalid.","GET","Get odds data","/v1/data/{filename}","https://fonbet.jojapi.net",{"url":44,"header":45,"post":52,"body":53,"path":54},[],[46],{"key":47,"is_auth":17,"example":48,"example_disabled":17,"example_type":49,"name":50,"description":48,"required":17,"always_error":51},"X-JoJAPI-Key","You must log in to get API key","string","JoJ API Key","Please log in to get API key",[],[],[55],{"key":56,"example":57,"example_disabled":6,"example_type":49,"value_type":49,"enum_values":18,"name":58,"description":59,"required":17},"filename","site_livepre_fonbet.json","","Parameter filename: a filename returned by GET /v1/files, e.g. site_livepre_fonbet.json.",[61,70],{"status":62,"status_code":63,"description":64,"schema":18,"examples":65,"example":69},"200",200,"Successful response with Fonbet odds JSON data.",[66],{"name":4,"summary":67,"description":68,"example":69},"Fonbet odds data","Sample Fonbet odds file response.","{\"company\":\"fonbet\",\"file\":\"site_livepre_fonbet.json\",\"updated_at\":\"2026-09-26T20:02:31Z\",\"data\":{\"sports\":[{\"id\":1,\"kind\":\"sport\",\"name\":\"Football\",\"alias\":\"football\"},{\"id\":46065,\"parentId\":1,\"kind\":\"segment\",\"name\":\"UEFA Nations League. Division A. Group stage\"}],\"events\":[{\"id\":67736383,\"level\":1,\"sportId\":46065,\"team1\":\"Denmark\",\"team2\":\"Wales\",\"startTime\":1790524800,\"place\":\"line\"}],\"customFactors\":[{\"e\":67736383,\"factors\":[{\"f\":921,\"v\":1.45},{\"f\":922,\"v\":4.6},{\"f\":923,\"v\":6.9}]}]}}",{"status":71,"status_code":72,"description":73,"schema":18,"examples":74,"example":77},"401",401,"Missing or invalid API key",[75],{"name":76,"summary":58,"description":58,"example":77},"unauthorized","{\"detail\":\"Invalid or missing API key\"}",{"x2":79,"x3":80,"x4":80,"x5":80,"uptime":79,"avg_latency":81,"avg_credits":80},"100.00","0.00","316",{"blocked":6,"hidden":6,"agent_price":36,"credits":18,"flexible_credits_description":18,"consumptions":83,"description":84,"method":39,"name":85,"url_path":86,"root_url":42,"parameters":87,"responses":94,"result_stats":105},[],"Lists the odds files your subscription can read, sorted by name. Returns {\"company\", \"count\", \"files\"}. Call it first and request only the names it returns.","List files","/v1/files",{"url":88,"header":89,"post":91,"body":92,"path":93},[],[90],{"key":47,"is_auth":17,"example":48,"example_disabled":17,"example_type":49,"name":50,"description":48,"required":17,"always_error":51},[],[],[],[95,102],{"status":62,"status_code":63,"description":96,"schema":18,"examples":97,"example":101},"Successful response listing Fonbet odds files.",[98],{"name":4,"summary":99,"description":100,"example":101},"Fonbet file list","Available Fonbet odds files.","{\"company\":\"fonbet\",\"count\":1,\"files\":[\"site_livepre_fonbet.json\"]}",{"status":71,"status_code":72,"description":73,"schema":18,"examples":103,"example":77},[104],{"name":76,"summary":58,"description":58,"example":77},{"x2":79,"x3":80,"x4":80,"x5":80,"uptime":79,"avg_latency":106,"avg_credits":80},"554","Ungrouped Endpoints",[109,112,115,118,121,124,127,130],{"question":110,"answer":111},"What does this API provide?","A combined JSON feed of Fonbet live and pre-match odds for soccer, basketball, and tennis. List files with GET /v1/files, then fetch GET /v1/data/site_livepre_fonbet.json.",{"question":113,"answer":114},"How do I authenticate?","Use your JoJ API key in X-JoJAPI-Key: YOUR_API_KEY. Authorization: Bearer YOUR_API_KEY also works.",{"question":116,"answer":117},"Which datasets can I download?","One file: site_livepre_fonbet.json — live and pre-match markets together.",{"question":119,"answer":120},"How fresh is the data?","The file refreshes about every 4–5 seconds (live and pre-match are in the same file). Each response's updated_at (also sent as the Last-Modified header) shows when the file last changed. No guaranteed SLA.",{"question":122,"answer":123},"What is the rate limit?","See Pricing for plan limits. The origin may return 429 above 10 requests per second.",{"question":125,"answer":126},"Is this an official Fonbet API?","No. It aggregates publicly displayed Fonbet odds and is not affiliated with or endorsed by Fonbet.",{"question":128,"answer":129},"Can I place bets through this API?","No. Informational and analytical use only. It does not place bets.",{"question":131,"answer":132},"Why is there only one file?","Fonbet is published as a single live+pre-match dataset instead of separate sport files.",[],[135,152,162,172],{"type":136,"slug":137,"blocked":6,"period":138,"currency":139,"pricing":140,"rate_limit":144,"objects":145,"name":150,"display_name":150,"features":151},"periodic","uuqrml0bydmj0v963cgdinfp","1 MONTH","usd",{"price":141,"credits":141,"past_due_timeout_num":142,"past_due_timeout_type":143},0,3,"DAY",{"max_requests":18,"time_window":18},[146],{"id":147,"name":148,"slug":149,"quota":63,"tiers":18},"n23fb8b85","Requests","requests","Basic",[],{"type":136,"slug":153,"blocked":6,"period":138,"currency":139,"pricing":154,"rate_limit":156,"objects":157,"name":160,"display_name":160,"features":161},"k7idsnsgc3n66elyygqpg51v",{"price":155,"credits":141,"past_due_timeout_num":142,"past_due_timeout_type":143},29,{"max_requests":18,"time_window":18},[158],{"id":147,"name":148,"slug":149,"quota":159,"tiers":18},250000,"Pro",[],{"type":136,"slug":163,"blocked":6,"period":138,"currency":139,"pricing":164,"rate_limit":166,"objects":167,"name":170,"display_name":170,"features":171},"chrzyxpc816c82wma9kd7ztv",{"price":165,"credits":141,"past_due_timeout_num":142,"past_due_timeout_type":143},89,{"max_requests":18,"time_window":18},[168],{"id":147,"name":148,"slug":149,"quota":169,"tiers":18},1500000,"Ultra",[],{"type":136,"slug":173,"blocked":6,"period":138,"currency":139,"pricing":174,"rate_limit":176,"objects":177,"name":180,"display_name":180,"features":181},"1xucizz50oh9v7svvn1m6dez",{"price":175,"credits":141,"past_due_timeout_num":142,"past_due_timeout_type":143},249,{"max_requests":18,"time_window":18},[178],{"id":147,"name":148,"slug":149,"quota":179,"tiers":18},5000000,"Mega",[],[],[],{"canonical":185,"page_title":186,"meta":187},"https://jojapi.com/hub/api/fonbet-odds","Fonbet Odds API Documentation & Playground - JoJ API",{"description":7,"keywords":188},"API,API Documentation,API Playground,Plans & Pricing,Fonbet Odds,arbplay"]