आपके हितधारक इस सप्ताह आपके उत्पाद में लाइव खेल संदर्भ चाहते हैं: नेविगेशन को बढ़ावा देने के लिए समर्थित खेलों की एक सूची, टीमों और प्रतियोगिताओं को खोजने के लिए एक सार्वभौमिक खोज बॉक्स, और UI पॉलिश के लिए देश के झंडे। इस गाइड के अंत तक आप Zyla API Hub से SofaScore - Live API को कॉल करेंगे ताकि खेल कैटलॉग प्राप्त कर सकें, क्वेरी द्वारा संस्थाओं को खोज सकें, और झंडे की छवि बाइट्स प्राप्त कर सकें, साथ ही उत्पादन-तैयार curl और Python उदाहरण जो आप अपने कोडबेस में पेस्ट कर सकते हैं।
आप SofaScore - Live API के साथ क्या बना सकते हैं
API खेल ऐप्स के लिए तीन मुख्य क्षमताएँ प्रदान करता है:
- सभी खेल प्राप्त करें: खेलों की एक पूर्ण, संरचित सूची जिसे आप मेनू, फ़िल्टर, या ऑनबोर्डिंग फ़्लोज़ में प्रस्तुत कर सकते हैं।
- सभी संस्थाओं की खोज करें: एकल क्वेरी एंडपॉइंट जो SofaScore संस्थाओं (जैसे, टीमें) के बीच खोज करता है, वैश्विक खोज बार के लिए आदर्श।
- देश का झंडा प्राप्त करें: टीमों, खिलाड़ियों, या प्रतियोगिताओं के बगल में प्रदर्शित करने के लिए एक देश के झंडे के लिए कच्ची छवि बाइट्स प्राप्त करें।
यह API Zyla API Hub पर उपलब्ध है, जो एक खाता, एक API कुंजी और 10,000 से अधिक सार्वजनिक APIs के बीच एक सदस्यता + कोटा मॉडल प्रदान करता है। आप हर अनुरोध को Authorization: Bearer YOUR_API_KEY के साथ प्रमाणित करते हैं।
Zyla API Hub पर शुरुआत करना
SofaScore - Live API के लिए Zyla पर लिस्टिंग खोलें और सदस्यता लें। आपके खाते पर पहला API 7-दिन की परीक्षण अवधि या 50 अनुरोधों के साथ आता है, फिर निरंतर उपयोग एक सदस्यता + कोटा मॉडल का पालन करता है (पे-पर-कॉल नहीं)। कोई मुफ्त योजना नहीं है। आपको एकल API कुंजी प्राप्त होगी जो इस लिस्टिंग में सभी एंडपॉइंट्स पर काम करती है।
यहाँ से शुरू करें: SofaScore - Live API पर 7-दिन की परीक्षण अवधि शुरू करें
सामान्य मार्केटप्लेस जानकारी और खाता निर्माण: Zyla API Hub.
एंडपॉइंट्स का अवलोकन और उदाहरण
सभी खेल प्राप्त करें
सभी उपलब्ध खेलों की एक सूची लौटाता है। इसका उपयोग अपने खेल चयनकर्ता, शीर्ष-स्तरीय नेविगेशन, या आने वाले खेल स्लग को मान्य करने के लिए करें।
- विधि: 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: रूटिंग, CSS, या क्वेरी संरचना के लिए स्थिर URL/घटक कुंजी।
Python उदाहरण
import os
import requests
API_KEY = os.environ.get("ZYLALABS_API_KEY", "YOUR_API_KEY")
url = "https://zylalabs.com/api/12787/sofascore-live-api/25080/get-all-sports"
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(url, headers=headers, timeout=10)
resp.raise_for_status()
sports = resp.json()
# Build a quick lookup: slug -> id
slug_to_id = {s["slug"]: s["id"] for s in sports}
# Example usage
print(f"Total sports: {len(sports)}")
print(f"Football id: {slug_to_id.get('football')}")
print("First three sports:")
for s in sports[:3]:
print(f"- {s['name']} (id={s['id']}, slug={s['slug']})")
सभी संस्थाओं की खोज करें
क्वेरी स्ट्रिंग द्वारा SofaScore संस्थाओं के बीच खोजें। इसका उपयोग एकल खोज बॉक्स के लिए करें जो नाम द्वारा टीमों और संबंधित संस्थाओं को खोज सकता है।
- विधि: GET
- URL: https://zylalabs.com/api/12787/sofascore-live-api/25082/search-all-entities
- पैरामीटर:
- q (string, आवश्यक)
- प्रमाणन: Authorization: Bearer YOUR_API_KEY
curl
प्रतिक्रिया प्रदान की गई क्वेरी के लिए मेल खाने वाली संस्थाओं को लौटाती है। खोज परिणामों को प्रदर्शित करने के लिए id, name, slug, और देश जैसे फ़ील्ड्स का उपयोग करें जहाँ मौजूद हो। यदि आप खोज परिणामों को संग्रहीत करते हैं, तो समान क्वेरियों के लिए दोहराए गए कॉल को कम करने के लिए कैशिंग पर विचार करें।
देश का झंडा प्राप्त करें
कोड द्वारा एक देश के झंडे के लिए छवि बाइट्स प्राप्त करें, फिर अपने UI में या अपने CDN में स्टोर करने के लिए base64 छवि के रूप में प्रदर्शित करें। यह राष्ट्रीय टीमों और प्रतियोगिताओं के लिए उपयोगी है।
- विधि: GET
- URL: https://zylalabs.com/api/12787/sofascore-live-api/31197/get-country-flag
- पैरामीटर:
- country_code (string, आवश्यक)
- प्रमाणन: Authorization: Bearer YOUR_API_KEY
curl
उदाहरण प्रतिक्रिया (छवि बाइट्स, base64-encoded):
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…
बेस64 को डिकोड करें। वेब के लिए, स्ट्रिंग के लिए data:image/png;base64, को जोड़ें; मोबाइल के लिए, बाइट एरे में डिकोड करें और कैश में स्टोर करें।
उत्पादन विवरण जो समय बचाते हैं
- प्रमाणन: हर अनुरोध पर Authorization: Bearer YOUR_API_KEY भेजें। गायब या अमान्य कुंजी 401/403 प्रतिक्रियाएँ लौटाती हैं।
- Idempotency और सुरक्षा: सभी सूचीबद्ध एंडपॉइंट्स GET हैं। इन्हें उचित प्रमाणीकरण हैंडलिंग के साथ एज फ़ंक्शंस या क्लाइंट बैकएंड से कॉल करना सुरक्षित है।
- कैशिंग:
- सभी खेल प्राप्त करें: कैटलॉग अपेक्षाकृत स्थिर है; अपने API परत या CDN में 24 घंटे के लिए कैश करें।
- सभी संस्थाओं की खोज करें: परिणाम समय और संदर्भ के साथ बदलते हैं; लागत और विलंबता को कम करने के लिए अद्वितीय क्वेरी के लिए मिनटों के लिए कैश करें।
- देश का झंडा प्राप्त करें: बेस64 आउटपुट देश कोड के लिए निर्धारक है; आक्रामक रूप से कैश करें या डिकोड की गई छवि को स्टोर करें।
- पैजिनेशन: प्रलेखित एंडपॉइंट्स पर लागू नहीं होता। यदि आपको यहाँ से परे अधिक ग्रैन्युलर ब्राउज़िंग की आवश्यकता है, तो खोज एंडपॉइंट को अपने प्राथमिक खोज उपकरण के रूप में रखें।
- टाइमस्टैम्प और टाइमज़ोन: यहाँ प्रलेखित एंडपॉइंट्स टाइमस्टैम्प नहीं निकालते। यदि आप अन्य सिस्टम के साथ परिणामों को जोड़ते हैं, तो इन प्रतिक्रियाओं को केवल मेटाडेटा के रूप में मानें और अपना समय संदर्भ जोड़ें।
- त्रुटि हैंडलिंग: 5xx के लिए बैकऑफ के साथ पुनः प्रयास लागू करें; 4xx को पुनः प्रयास न करें सिवाय 429 के बैकऑफ के साथ। डिबगिंग के लिए अनुरोध URLs और क्वेरी पैरामीटर्स लॉग करें।
- सुरक्षा: अपने API कुंजी को क्लाइंट-साइड ऐप्स में न डालें। अपने सर्वरलेस या बैकएंड सेवा के माध्यम से प्रॉक्सी करें और प्रति-उपयोगकर्ता कोटा लागू करें।
एंड-टू-एंड उदाहरण: एक खोज-प्रथम खेल चयनकर्ता बनाएं
- स्पोर्ट्स फ़िल्टर को रेंडर करने के लिए बूट पर सभी खेलों को प्राप्त करें। id, name, slug को बनाए रखें।
- अपने वैश्विक खोज बॉक्स को सभी संस्थाओं की खोज से कनेक्ट करें जिसमें q उपयोगकर्ता के इनपुट पर सेट हो। अतिरिक्त कॉल से बचने के लिए कीस्ट्रोक्स को डिबॉन्स करें।
- जब परिणाम रेंडर कर रहे हों, यदि कोई देश जुड़ा हुआ है, तो संबंधित कोड के साथ देश का झंडा प्राप्त करें और बेस64 स्ट्रिंग को कैश करें।
- स्थिर रूटिंग और बाद में समृद्धि के लिए id और slug द्वारा चयन रिकॉर्ड करें।
AI एजेंटों से API को MCP के साथ कॉल करें
यदि आप MCP-संगत उपकरणों (जैसे, आपके विकास वातावरण में कोड सहायक) के साथ एकीकृत करते हैं, तो आप अपने मौजूदा कुंजी का उपयोग करके Zyla के MCP एंडपॉइंट के माध्यम से समान HTTP कॉल को रूट कर सकते हैं: https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY। इससे एक एजेंट बिना प्रॉम्प्ट में रहस्यों को एम्बेड किए SofaScore - Live API को सक्रिय कर सकता है। क्षमताओं और क्लाइंट सेटअप के लिए, MCP पृष्ठ देखें।
टिप: अपने एजेंट के उपकरण कॉन्फ़िगरेशन में केवल वही एंडपॉइंट्स प्रदर्शित करें जिनकी आपको आवश्यकता है (सभी खेल प्राप्त करें, सभी संस्थाओं की खोज करें, देश का झंडा प्राप्त करें) और ऑडिटेबिलिटी के लिए सर्वर-साइड पर कॉल लॉग करें।
वास्तविक-विश्व उपयोग पैटर्न
- ऑनबोर्डिंग: उपयोगकर्ताओं से उनके पसंदीदा खेलों को चुनने के लिए कहें, सभी खेल प्राप्त करें प्रतिक्रिया को सूचीबद्ध करके; चयनित खेल ids को व्यक्तिगत फ़ीड के लिए स्टोर करें।
- खोज बार: “Real Madrid” जैसी टीमों को ऑटो-कम्प्लीट करने के लिए सभी संस्थाओं की खोज का उपयोग करें और उपयोगकर्ताओं को सीधे उनके विवरण स्क्रीन पर ले जाएं।
- अंतर्राष्ट्रीय UI: टीम नामों और स्टैंडिंग के बगल में झंडे दिखाएं, देश का झंडा प्राप्त करें; एंडपॉइंट द्वारा अपेक्षित alpha2/alpha3-शैली कोड के लिए बेस64 कैश करें।
- रूटिंग और SEO: स्थिर रूटिंग और साफ लिंक के लिए अपने URL पथ का हिस्सा के रूप में खेल स्लग (जैसे, फुटबॉल, बास्केटबॉल) का उपयोग करें।
परीक्षण और समस्या निवारण
- स्मोक परीक्षण: एक CI जांच जोड़ें जो सभी खेल प्राप्त करें को कॉल करती है और अपेक्षित कुंजी (id, name, slug) के अस्तित्व की पुष्टि करती है और यह सुनिश्चित करती है कि एरे खाली नहीं है।
- पर्यवेक्षण: स्थिति कोड, विलंबता, और बॉडी आकार लॉग करें; झंडा एंडपॉइंट के लिए पेलोड आकार में अचानक वृद्धि को चिह्नित करें ताकि गलत प्रतिक्रियाएँ पकड़ी जा सकें।
- बैकफिल: यदि आपको सामान्य देशों के लिए झंडों को कैश करने की आवश्यकता है, तो ऑफ़लाइन देश का झंडा प्राप्त करें को बैच-कॉल करें और छवियों को अपने एसेट बकेट में स्टोर करें।
अक्सर पूछे जाने वाले प्रश्न
मैं SofaScore - Live API के लिए प्रमाणित कैसे करूँ?
प्रत्येक अनुरोध पर अपनी कुंजी के साथ Authorization हेडर भेजें: Authorization: Bearer YOUR_API_KEY।
क्या कोई मुफ्त योजना है?
कोई मुफ्त योजना नहीं है। आपके Zyla खाते पर पहला API 7-दिन की परीक्षण अवधि या 50 अनुरोधों के साथ आता है। वर्तमान पहुंच विकल्पों के लिए लिस्टिंग की जांच करें।
क्या मैं इस API के माध्यम से टीम के लोगो या लीग की छवियाँ प्राप्त कर सकता हूँ?
यहाँ प्रलेखित एंडपॉइंट्स खेलों की सूची, संस्थाओं की खोज, और देश के झंडों को कवर करते हैं। अन्य संपत्तियों के लिए, अतिरिक्त एंडपॉइंट्स के लिए लिस्टिंग पृष्ठ की समीक्षा करें; केवल इस लेख में URLs प्रलेखित हैं।
देश का झंडा प्राप्त करने के लिए कौन से देश कोड समर्थित हैं?
एंडपॉइंट द्वारा अपेक्षित country_code पैरामीटर पास करें। अपने डोमेन मॉडल में कोडों को मान्य करें और सफल परिणामों को कैश करें ताकि दोहराए गए लुकअप से बचा जा सके।
क्या मैं इन एंडपॉइंट्स को फ्रंटएंड से कॉल कर सकता हूँ?
अपने API कुंजी को उजागर न करने के लिए बैकएंड या एज प्रॉक्सी का उपयोग करें। ये GET एंडपॉइंट्स हैं, इसलिए प्रॉक्सी करना सीधा है।
अपनी एकीकरण को अब शिप करें: सदस्यता लें और लिस्टिंग पृष्ठ पर अपनी कुंजी प्राप्त करें, फिर ऊपर दिए गए curl को पेस्ट करें और पुनरावृत्ति करें। यहाँ से शुरू करें: SofaScore - Live API पर 7-दिन की परीक्षण अवधि शुरू करें। यदि आपको अन्य निर्माण ब्लॉक्स की आवश्यकता है, तो Zyla API Hub पर अधिक ब्राउज़ करें।