आपको खेलों की एक निश्चित सूची की आवश्यकता है, जिसमें स्थिर आईडी, स्लग और नाम हों, ताकि आप अपने ऐप में नेविगेशन, फ़िल्टर या लुकअप चला सकें। इस गाइड के अंत तक, आप एक एकीकरण तैयार करेंगे जो एकल एंडपॉइंट से हर उपलब्ध खेल को लाएगा, इसे कोड में पार्स करेगा, और वैकल्पिक रूप से अपने UI को देश के झंडों और वैश्विक खोज के साथ समृद्ध करेगा, उसी API परिवार का उपयोग करते हुए।
यह API आपको क्या देती है
SofaScore - Live API, Zyla API Hub पर, एक सरल रीड एंडपॉइंट को उजागर करता है जो सभी उपलब्ध खेलों को वस्तुओं के एक एरे के रूप में लौटाता है, प्रत्येक में एक आईडी, नाम और स्लग होता है। यह सूची आपके खेलों की वर्गीकरण को बूटस्ट्रैप करने, ड्रॉपडाउन चलाने, या खेल के स्लग को रूट्स से मैप करने के लिए उपयुक्त है। वही API निम्नलिखित भी प्रदान करती है:
- UI सजावट या श्रेय के लिए एक देश के झंडे का एंडपॉइंट (छवि बाइट्स)।
- टीमों, क्लबों और संबंधित संस्थाओं के लिए टेक्स्ट क्वेरी द्वारा एक क्रॉस-एंटिटी खोज एंडपॉइंट।
क्योंकि यह Zyla API Hub पर चलता है, आप एक खाता और एक API कुंजी का उपयोग करते हैं जो एक सब्सक्रिप्शन + कोटा मॉडल के तहत है (पे-पर-कॉल नहीं)। प्लेटफ़ॉर्म में 10,000 से अधिक सार्वजनिक APIs हैं जिनमें लगातार प्रमाणीकरण और बिलिंग होती है। आपके पहले API के लिए, आप 7-दिन की परीक्षण अवधि या 50 अनुरोधों के साथ शुरू कर सकते हैं (कोई मुफ्त योजना नहीं)। वर्तमान पहुंच विकल्पों और मूल्य निर्धारण के लिए API पृष्ठ की जांच करें।
Zyla API Hub पर शुरू करना
SofaScore - Live API पृष्ठ खोलें और API कुंजी प्राप्त करने के लिए परीक्षण शुरू करें:
- SofaScore - Live API पर 7-दिन का परीक्षण शुरू करें।
- जब उपलब्ध हो, तो सब्सक्राइब या फ्री ट्रायल शुरू करने पर क्लिक करें, फिर अपनी API कुंजी कॉपी करें।
- हेडर के साथ अनुरोध भेजें: Authorization: Bearer YOUR_API_KEY
आप अपनी कुंजी और सब्सक्रिप्शन को सीधे अपने Zyla API Hub खाते से प्रबंधित कर सकते हैं।
आप जिन एंडपॉइंट्स का उपयोग करेंगे
यह अनुभाग "API to get all sports" से संबंधित तीन एंडपॉइंट्स का दस्तावेजीकरण करता है, उनके सटीक अनुरोध URL, विधियाँ, और पैरामीटर (केवल जहाँ निर्दिष्ट किया गया है)। अनुरोध निकाय न जोड़ें; ये एंडपॉइंट्स सरल GET हैं जिनमें क्वेरी पैरामीटर हैं जैसा कि दिखाया गया है।
1) सभी खेल प्राप्त करें
- विधि: GET
- URL: https://zylalabs.com/api/12787/sofascore-live-api/25080/get-all-sports
- विवरण: सभी उपलब्ध खेलों की एक सूची लौटाता है।
- पैरामीटर: कोई दस्तावेजित नहीं।
- प्रमाणन: Authorization: Bearer YOUR_API_KEY
cURL (आधिकारिक नमूना):
curl -s -X GET "https://zylalabs.com/api/12787/sofascore-live-api/25080/get-all-sports" \
-H "Authorization: Bearer YOUR_API_KEY"
उदाहरण JSON (आधिकारिक नमूना):
[
{
"id": 1,
"name": "Football",
"slug": "football"
},
{
"id": 5,
"name": "Tennis",
"slug": "tennis"
},
{
"id": 2,
"name": "Basketball",
"slug": "basketball"
},
{
"id": 64,
"name": "Baseball",
"slug": "baseball"
},
{
"id": 23,
"name": "Volleyball",
"slug": "volleyball"
},
{
"id": 63,
"name": "American football",
"slug": "american-football"
},
{
"id": 6,
"name": "Handball",
"slug": "handball"
},
{
"id": 20,
"name": "Table tennis",
"slug": "table-tennis"
},
{
"id": 4,
"name": "Ice hockey",
"slug": "ice-hockey"
},
{
"id": 22,
"name": "Darts",
"slug": "darts"
},
{
"id": 72,
"name": "E-sports",
"slug": "esports"
},
{
"id": 11,
"name": "Motorsport",
"slug": "motorsport"
},
{
"id": 65,
"name": "Cycling",
"slug": "cycling"
},
{
"id": 62,
"name": "Cricket",
"slug": "cricket"
},
{
"id": 76,
"name": "Mixed Martial Arts",
"slug": "mma"
},
{
"id": 12,
"name": "Rugby",
"slug": "rugby"
},
{
"id": 29,
"name": "Futsal",
"slug": "futsal"
},
{
"id": 31,
"name": "Badminton",
"slug": "badminton"
},
{
"id": 26,
"name": "Waterpolo",
"slug": "waterpolo"
},
{
"id": 19,
"name": "Snooker",
"slug": "snooker"
},
{
"id": 13,
"name": "Aussie rules",
"slug": "aussie-rules"
},
{
"id": 34,
"name": "Beach volley",
"slug": "beach-volley"
},
{
"id": 109,
"name": "Minifootball",
"slug": "minifootball"
},
{
"id": 7,
"name": "Floorball",
"slug": "floorball"
},
{
"id": 15,
"name": "Bandy",
"slug": "bandy"
},
{
"id": 110,
"name": "Padel",
"slug": "padel"
}
]
क्या उपयोग करें:
- id: स्थिर पूर्णांक पहचानकर्ता। इसका उपयोग अपने प्राथमिक कुंजी या अपने वर्गीकरण के लिए मैपिंग के रूप में करें।
- name: UI के लिए प्रदर्शन लेबल।
- slug: लोअरकेस, URL-अनुकूल पहचानकर्ता (रूट्स और क्वेरी पैरामीटर के लिए अच्छा)।
व्यावहारिक नोट्स:
- कैशिंग: यह सूची अपेक्षाकृत स्थिर है। इसे अपने ऐप में घंटों या एक दिन के लिए कैश करें, ताज़ा करने की आवश्यकताओं के आधार पर। डिप्लॉय पर कैश को बस्ट करें या मैनुअल एडमिन नियंत्रण के माध्यम से।
- स्थानीयकरण: प्रतिक्रिया अंग्रेजी नाम दिखाती है। यदि आपको स्थानीयकरण परतों की आवश्यकता है, तो स्लग को अपने स्वयं के i18n स्ट्रिंग्स से मैप करें।
- क्रमबद्धता: यदि आपको एक विशिष्ट क्रम की आवश्यकता है, तो नाम के अनुसार क्रमबद्ध करें या एक कस्टम वजन मैप लागू करें (जैसे, फुटबॉल, बास्केटबॉल, टेनिस को प्राथमिकता दें)।
2) देश का झंडा प्राप्त करें
- विधि: GET
- URL: https://zylalabs.com/api/12787/sofascore-live-api/31197/get-country-flag
- विवरण: देश के झंडे की छवि बाइट्स लौटाता है।
- पैरामीटर (आवश्यक): country_code (स्ट्रिंग)। उदाहरण मान: EN
- प्रमाणन: Authorization: Bearer YOUR_API_KEY
cURL:
उदाहरण प्रतिक्रिया:
iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAMAAAAL34HQAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAACxMAAAsTAQCanBgAAAELUExURUdwTN/f37QVJd7e3t3d3d/f39/f39/f39/f397e3t7e3t3d3d3d3d3d3d/f397e3t/f39/f39zc3N7e3rQUJN/f37MUJLUTJd/f39/f3+Hh4d3d3bMUJLUVJbQUJLUVJbUUJLcQKOHh4d3d3bQVJLQUJN/f397e3rQVJbIWI7ITI7QUJLcYKM4RJP///97e3rQUJPv7++Li4v39/ebm5uDg4Orq6vDw8OTk5Pf397sTJPn5+bsUJPPz8/Ly8u7u7rcUJMcSJOzs7PHx8cQSJO/v77gUJLgTJOjo6MoSJMETJL8TJLUUJL4TJOvr680RJMsSJMsRJMQTJL0TJO3t7cwRJLYUJM0SJLwUJL4UJDN2488AAAAsdFJOUwB/38+AMBAg79+fcJBAv3CfYKC/YICfj79vr0AwcGCvIF+Pz8+vsKBQULAgUCRTtgAABilJREFUeNrtnGdX40YUhoWrhA1uGFj6tmQ34VrFKl6vzdqYDrtJNvX//5JMkSU3YWk0kiYn3A/CB3zMc+776s54NHMlKV6cfThp756+zeVUErlcq7XbPj48kjKLYqOel9WAkLf3GsXUkcqVA7mDIwiL/FE+qKSItrWndKZBIR6vrz+TuL6excKhbG6lwyR3/ND/eZiM7r6dz8bdaHL/tzPzJmUz4ZyVKtvePzMtu2fAeUCA0bNvde/N+UaCUBteorp2H0gEYpHo210/ZeVkXL7pMxkwjeexUGgDjywBMA/KufKZwmARMj0ZME++bg/mIwwWip7lgm1wBHtFocyxBsCGhVLmgim8zF+md585r15ULB8szyVhrn6WBhAPywfb4JWqJU8xYSEwan6lzMNV5iUAHywAelfKlTg34B5NlQb8sKZKvikxC5hfkyomLJQwM46QRTJPcDTgjeU6TGEawF+TXP8OwB8L4Ip8OIPBNoiAA0gGCy5NpkpBqPQ+JIXlCrnBQqVBclgsXITKMSBJLDCciFyEqhuGKg5WVC5C9RUgaSyArxG4XhEFIQ0sIDPX16GqaGhfccCiOoaoq2Vc2/WwVHGxwNBDjUMlJWRl4IRF60R+3biN5wxmeKr4WNDH…
उपयोग नोट्स:
- प्रतिक्रिया कच्ची छवि बाइट्स है। इसे डिस्क पर स्टोर करें, CDN के माध्यम से कैश करें, या तुरंत वेब क्लाइंट में रेंडर करने के लिए मेमोरी में बेस64 में परिवर्तित करें।
- country_code एक स्ट्रिंग है (उदाहरण: EN)। अनावश्यक पुनः प्रयासों से बचने के लिए अपने इनपुट को मान्य करें।
3) सभी संस्थाओं की खोज करें
- विधि: GET
- URL: https://zylalabs.com/api/12787/sofascore-live-api/25082/search-all-entities
- विवरण: क्वेरी स्ट्रिंग द्वारा सभी SofaScore संस्थाओं की खोज करें।
- पैरामीटर (आवश्यक): q (स्ट्रिंग)। उदाहरण मान: real madrid
- प्रमाणन: Authorization: Bearer YOUR_API_KEY
cURL:
उदाहरण प्रतिक्रिया:
[{"entity":{"id":2829,"name":"Real Madrid","slug":"real-madrid","imagePath":"https:\/\/img.sofascore.com\/api\/v1\/team\/2829\/image","proxyImagePath":"https:\/\/betting.asdasddsgdfgfdsgfj.website\/sofascore\/image-proxy?imagePath=https:\/\/img.sofascore.com\/api\/v1\/team\/2829\/image","fullName":null,"shortName":null,"nameCode":"RMA","gender":"M","country":{"name":"Spain","slug":"spain","alpha2":"ES","alpha3":null,"imagePath":"https:\/\/img.sofascore.com\/api\/v1\/country\/ES\/flag","proxyImagePath":"https:\/\/betting.asdasddsgdfgfdsgfj.website\/sofascore\/image-proxy?imagePath=https:\/\/img.sofascore.com\/api\/v1\/country\/ES\/flag"},"foundationDateTimestamp":null,"manager":[],"ranking":null,"national":false,"venue":[],"sport":{"id":1,"name":"Football","slug":"football"}},"score":4293164.5,"type":"team"},{"entity":{"id":2816,"name":"Real Betis","slug":"real-betis","imagePath":"https:\/\/img.sofascore.com\/api\/v1\/team\/2816\/image","proxyImagePath":"https:\/\/betting.asdasddsgdfgfdsgfj.website\/sofascore\/image-proxy?imagePath=https:\/\/img.sofascore.com\/api\/v1\/team\/2816\/image","fullName":null,"shortName":null,"nameCode":"BET","gender":"M","country":{"name":"Spain","slug":"spain","alpha2":null,"alpha3":null,"imagePath":"https:\/\/img.sofascore.com\/api\/v1\/country\/ES\/flag","proxyImagePath":"https:\/\/betting.asdasddsgdfgfdsgfj.website\/sofascore\/image-proxy?imagePath=https:\/\/img.sofascore.com\/api\/v1\/country\/ES\/flag"},"foundationDateTimestamp":null,"manager":[],"ranking":null,"national":false,"venue":[],"sport":{"id":1,"name":"Football","slug":"football"}},"score":...}]
उपयोग नोट्स:
- q का उपयोग टीमों और संस्थाओं के लिए वैश्विक खोज बार लागू करने के लिए करें। कॉल को कम करने के लिए क्लाइंट-साइड पर डिबाउंस करें।
- प्रतिक्रिया संरचना में पहचानकर्ता, नाम, स्लग, देश, और खेल जैसी संस्थाओं का मेटाडेटा शामिल है। लोकप्रिय क्वेरीज़ को कैश करें।
कोड कॉपी-पेस्ट करें: पायथन में खेलों की सूची लोड करें
नीचे दिया गया उदाहरण सभी खेलों को प्राप्त करने के लिए कॉल करता है, HTTP स्थिति की जांच करता है, JSON को डिक्ट की सूची में पार्स करता है, और दो लुकअप संरचनाएँ बनाता है जिनका आप वास्तव में उपयोग करेंगे: id-to-name और slug-to-id। जहां संकेत दिया गया है, वहां अपनी API कुंजी डालें।
import os
import sys
import json
import urllib.request
API_URL = "https://zylalabs.com/api/12787/sofascore-live-api/25080/get-all-sports"
API_KEY = os.environ.get("ZYLALABS_API_KEY", "YOUR_API_KEY")
req = urllib.request.Request(API_URL, method="GET")
req.add_header("Authorization", f"Bearer {API_KEY}")
try:
with urllib.request.urlopen(req, timeout=10) as resp:
if resp.status != 200:
sys.stderr.write(f"HTTP {resp.status}\n")
sys.exit(1)
data = json.loads(resp.read().decode("utf-8"))
except Exception as e:
sys.stderr.write(f"Request failed: {e}\n")
sys.exit(1)
# Build lookups useful in real apps:
id_to_name = {item["id"]: item["name"] for item in data}
slug_to_id = {item["slug"]: item["id"] for item in data}
# Example usage: route building and validation
def sport_exists(slug):
return slug in slug_to_id
# Print a quick summary and a route example
print(f"Loaded {len(data)} sports")
for s in data[:5]:
print(f"- {s['name']} (id={s['id']}, slug={s['slug']})")
example_slug = "football"
if sport_exists(example_slug):
sport_id = slug_to_id[example_slug]
print(f"/sports/{example_slug} maps to sport_id={sport_id}")
else:
print(f"{example_slug} not present")
कार्यान्वयन टिप्स:
- टाइमआउट: लटकने वाले अनुरोधों से बचने के लिए उचित टाइमआउट सेट करें (जैसे, 5–10s)।
- पुनः प्रयास: अस्थायी त्रुटियों के लिए, एक्सपोनेंशियल बैकऑफ के साथ पुनः प्रयास करें। अनियंत्रित लूप से बचें।
- कैशिंग: फ़ाइल कैश या इन-मेमोरी TTL कैश अक्सर इस स्थिर सूची के लिए पर्याप्त होता है।
व्यावहारिक उपयोग के मामले जिन्हें आप इस सप्ताह भेज सकते हैं
- नेविगेशन बूटस्ट्रैप: सर्वर स्टार्ट पर एक बार खेलों को लाएं और /sports/{slug} रूट और साइटमैप उत्पन्न करें।
- फ़िल्टर UI: नाम और स्लग का उपयोग करके डैशबोर्ड या मोबाइल ऐप में खेल चयनकर्ताओं को भरें।
- खोज + विवरण: सभी खेलों को प्राप्त करने के साथ सभी संस्थाओं की खोज को संयोजित करें ताकि एकल खोज बॉक्स बनाया जा सके जो खेल द्वारा सीमित टीमों को लौटाए।
- ब्रांडिंग और झंडे: जब आप खोज द्वारा लौटाई गई टीमों या प्रतियोगिताओं को प्रदर्शित करते हैं, तो देश के झंडों के साथ सजाएं जो देश का झंडा प्राप्त करें।
- सर्वर-साइड रेंडरिंग: पृष्ठ लोड को तेज करने के लिए निर्माण समय (या मांग पर कैश के साथ) पर खेलों की सूची लाएं।
एंड-टू-एंड: सूची से UI पॉलिश तक
1) सभी खेल लोड करें
Get all sports एंडपॉइंट को एक बार कॉल करें और प्रतिक्रिया को स्टोर करें। URL-सुरक्षित लिंक के लिए स्लग का उपयोग करें और डेटाबेस जॉइन या एनालिटिक्स टैगिंग के लिए आईडी का उपयोग करें।
2) त्वरित खोज जोड़ें
सभी संस्थाओं की खोज एंडपॉइंट के लिए एक इनपुट वायर करें। 250–500 मिलीसेकंड पर डिबाउंस करें और अंतिम कुछ क्वेरीज़ को कैश करें। जहां उपलब्ध हो, नाम, देश, और खेल का नाम रेंडर करें।
3) झंडों के साथ सजाएं
जब एक संस्था में एक देश शामिल होता है, तो आवश्यक country_code के साथ Get country flag को कॉल करें। छवि बाइट्स को कैश करें या पहले अनुरोध पर स्टोर करें।
MCP: इस API को AI एजेंट से कॉल करें
Zyla पर हर API को MCP-संगत एंडपॉइंट के माध्यम से भी कॉल किया जा सकता है, जो Claude Code, Cursor, Windsurf, और अन्य MCP क्लाइंट के साथ काम करता है। अपने एजेंट या उपकरण को इस पर इंगित करें:
- एंडपॉइंट: https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
यह आपके एजेंट को आपके Zyla कुंजी के साथ MCP प्रोटोकॉल का समर्थन करने वाले वातावरण में वही SofaScore - Live API संचालन करने की अनुमति देता है। क्लाइंट सेटअप के विवरण के लिए MCP को देखें। सीधे HTTP कॉल के लिए वही प्रमाणीकरण दृष्टिकोण बनाए रखें; MCP के भीतर, अपने Zyla कुंजी को अपने MCP क्लाइंट के कॉन्फ़िगरेशन के अनुसार प्रदान करें।
संचालन मार्गदर्शन
- प्रमाणीकरण: हमेशा Authorization: Bearer YOUR_API_KEY भेजें।
- कोटा और बिलिंग: सब्सक्रिप्शन + कोटा मॉडल (पे-पर-कॉल नहीं)। आपके पहले API के लिए, आप 7-दिन की परीक्षण अवधि या 50 अनुरोधों के साथ शुरू कर सकते हैं। कोई मुफ्त योजना नहीं। वर्तमान पहुंच विकल्पों के लिए लिस्टिंग की जांच करें।
- त्रुटि हैंडलिंग: गैर-200 स्थितियों को सुचारू रूप से संभालें। 4xx पर पुनः प्रयास न करें सिवाय 429 के बैकऑफ के साथ यदि लागू हो।
- पर्यवेक्षण: एंडपॉइंट, स्थिति, और विलंबता लॉग करें। कैशिंग के लिए, कॉल वॉल्यूम को पूर्वानुमानित रखने के लिए कैश हिट बनाम मिस को लॉग करें।
संदर्भ: एक नज़र में सभी तीन एंडपॉइंट्स
- सभी खेल प्राप्त करें
- GET https://zylalabs.com/api/12787/sofascore-live-api/25080/get-all-sports
- पैरामीटर: कोई दस्तावेजित नहीं
- लौटाता है: { id, name, slug } का एरे
- देश का झंडा प्राप्त करें
- GET https://zylalabs.com/api/12787/sofascore-live-api/31197/get-country-flag
- पैरामीटर: country_code (स्ट्रिंग, आवश्यक), उदाहरण: EN
- लौटाता है: छवि बाइट्स
- सभी संस्थाओं की खोज करें
- GET https://zylalabs.com/api/12787/sofascore-live-api/25082/search-all-entities
- पैरामीटर: q (स्ट्रिंग, आवश्यक), उदाहरण: real madrid
- लौटाता है: मेटाडेटा सहित मिलान करने वाली संस्थाओं की सूची, जिसमें खेल शामिल है
अक्सर पूछे जाने वाले प्रश्न
मैं अनुरोधों को कैसे प्रमाणित करूं?
प्रत्येक अनुरोध में हेडर Authorization: Bearer YOUR_API_KEY जोड़ें।
क्या कोई मुफ्त योजना है?
कोई मुफ्त योजना नहीं। आपके पहले API के लिए, आप 7-दिन की परीक्षण अवधि या 50 अनुरोधों के साथ शुरू कर सकते हैं। वर्तमान पहुंच विकल्पों और मूल्य निर्धारण के लिए API पृष्ठ देखें।
मुझे खेलों की सूची को कितनी बार ताज़ा करना चाहिए?
खेलों की सूची अपेक्षाकृत स्थिर है। इसे कैश करें और एक शेड्यूल पर ताज़ा करें जो आपके ऐप के लिए उपयुक्त हो (जैसे, दैनिक) या डिप्लॉय पर। यदि आपको तत्काल अपडेट की आवश्यकता है तो मैन्युअल रूप से अमान्य करें।
क्या मैं API से सीधे छवियाँ (जैसे झंडे) प्राप्त कर सकता हूँ?
हाँ। कच्ची छवि बाइट्स प्राप्त करने के लिए आवश्यक country_code के साथ Get country flag का उपयोग करें। प्रदर्शन के लिए इन प्रतिक्रियाओं को कैश या CDN करें।
क्या मैं टीमों या क्लबों की खोज कर सकता हूँ?
हाँ। टीमों और अन्य संस्थाओं को खोजने के लिए q के साथ सभी संस्थाओं की खोज का उपयोग करें। लौटाए गए संस्था वस्तुओं को नाम, स्लग, और देश की जानकारी को रेंडर करने के लिए पार्स करें।
भेजने के लिए तैयार? Zyla API Hub पर अपना खाता बनाएं, फिर अपना परीक्षण शुरू करें और ऊपर दिए गए एंडपॉइंट्स में प्लग करें। यहाँ से शुरू करें: SofaScore - Live API पर 7-दिन का परीक्षण शुरू करें.