अनुरोध भेजने से पहले
POST https://api.genderapi.io/api/v2/gender पर JSON भेजें। Authorization: Bearer YOUR_API_KEY में अपनी मौजूदा API कुंजी और Content-Type: application/json इस्तेमाल करें। हर अनुरोध अलग से प्रोसेस होता है।
कोड उदाहरण में अपनी प्रोग्रामिंग भाषा चुनें। चलाने से पहले प्रोसेस एनवायरनमेंट में GENDERAPI_API_KEY सेट करें। कुंजी न होने या पहचानी न जाने पर साझा IP ट्रायल इस्तेमाल हो सकता है, इसलिए अकाउंट इंटीग्रेट करते समय पक्का करें कि meta.access.mode का मान api_key है।
यूज़रनेम या निकनेम से लिंग का अनुमान
| पैरामीटर | प्रकार | ज़रूरी | डिफ़ॉल्ट | विवरण |
|---|---|---|---|---|
type | string | हाँ | — | इनपुट की श्रेणी: name, email या username। |
value | string | हाँ | — | ज़रूरी। 1–254 अक्षर; खाली नहीं और कंट्रोल कैरेक्टर के बिना। ईमेल मान मान्य ईमेल सिंटैक्स में होने चाहिए। |
country | string | नहीं | — | वैकल्पिक, बड़े अक्षरों में ISO 3166-1 alpha-2 कोड, जैसे TR या US। देश के हिसाब से खोज में वैश्विक डेटासेट का भी इस्तेमाल हो सकता है। |
forceToGenderize | boolean | नहीं | false | पहले डेटासेट आज़माएँ, फिर परिणाम न मिलने पर निकनेम समझने वाला AI। name, email और username के लिए समर्थित। |
options | object | नहीं | — | हर इनपुट के AI विकल्पों का कंटेनर। |
options.ai_mode | string | नहीं | fallback | मान्य मान: off, fallback, always। forceToGenderize: true के साथ यह फ़ील्ड छोड़ दें या fallback इस्तेमाल करें। |
id | string | नहीं | — | POST JSON में वैकल्पिक, 1–64 अक्षरों का पहचानकर्ता। हर बैच परिणाम के साथ लौटाया जाता है; एक बैच में यूनिक होना चाहिए। एकल अनुमान में स्वीकार होता है, लेकिन लौटाया नहीं जाता। GET क्वेरी में समर्थित नहीं। |
हैंडल और निकनेम के लिए type: username इस्तेमाल करें। अगर आप prenses जैसे निकनेम के अर्थ पर आधारित प्रयास चाहते हैं, तो forceToGenderize को true पर सेट करें, भले ही कोई असली नाम न निकाला जा सके। पहले डेटासेट ही जाँचा जाता है। निकनेम के अनुमान में name: null के साथ non-null gender मिल सकता है।
अपनी प्रोग्रामिंग भाषा चुनें। अपनी API कुंजी सेट करें, फिर अपने सर्वर पर उदाहरण चलाएँ।
अनुमान का हर अनुरोध, दोबारा प्रयास सहित, शुल्क वाली नई प्रक्रिया है। ये उदाहरण अपने-आप दोबारा प्रयास नहीं करते। दूसरा अनुरोध भेजने से पहले बिलिंग स्टेटस देखें।
चलाने से पहले: एक्सेस और त्रुटियों को संभालना
ये उदाहरण अपने सर्वर पर चलाएँ। प्रोसेस एनवायरनमेंट में GENDERAPI_API_KEY को अपनी मौजूदा API कुंजी पर सेट करें। पक्का करें कि meta.access.mode का मान api_key है: पहचानी न गई कुंजी IP ट्रायल पर जा सकती है।
HTTP 4xx और 5xx वाले JSON रिस्पॉन्स में त्रुटि की बॉडी बनी रहती है और प्रोग्राम शून्य से अलग एग्ज़िट स्टेटस लौटाता है। दोबारा प्रयास से पहले code, action और meta.usage.billing_status देखें।
त्रुटियों और दोबारा प्रयास की गाइड →POSIX शेल में cURL 7.76+। अपने टर्मिनल में चलाएँ। रनटाइम दस्तावेज़ीकरण
Node.js 22+; बिल्ट-इन fetch। example.mjs के रूप में सेव करें और node example.mjs चलाएँ। रनटाइम दस्तावेज़ीकरण
Python 3.10+; स्टैंडर्ड लाइब्रेरी। example.py के रूप में सेव करें और python3 example.py चलाएँ। रनटाइम दस्तावेज़ीकरण
cURL एक्सटेंशन के साथ PHP 8+। example.php के रूप में सेव करें और php example.php चलाएँ। रनटाइम दस्तावेज़ीकरण
Java 17+; स्टैंडर्ड HTTP क्लाइंट। GenderApiExample.java के रूप में सेव करें और java GenderApiExample.java चलाएँ। रनटाइम दस्तावेज़ीकरण
.NET 8+ कंसोल ऐप्लिकेशन। कंसोल प्रोजेक्ट में Program.cs के रूप में इस्तेमाल करें, फिर dotnet run चलाएँ। रनटाइम दस्तावेज़ीकरण
Go 1.22+; स्टैंडर्ड लाइब्रेरी। main.go के रूप में सेव करें और go run main.go चलाएँ। रनटाइम दस्तावेज़ीकरण
रिस्पॉन्स का उदाहरण
यह 1 अक्टूबर 2026 को API कुंजी से प्राप्त किया गया वास्तविक रिस्पॉन्स है; इसमें सिर्फ़ खाते का बैलेंस बदला गया है। यह सटीकता का माप नहीं है, और लाइव अनुरोध पर अलग परिणाम मिल सकता है। API कुंजी वाले अनुरोधों में meta.access.mode: api_key होता है और सिर्फ़ ट्रायल वाले कोटा फ़ील्ड null होते हैं; IP ट्रायल वाले अनुरोधों में ip_trial होता है। अनुमान के लिए data और प्रक्रिया की बिलिंग के परिणाम के लिए meta.usage पढ़ें।
{
"data": {
"input": {
"type": "username",
"value": "prenses",
"country": "TR",
"forceToGenderize": true
},
"name": "prenses",
"gender": "female",
"country": "TR",
"confidence": 0.9456521739130435,
"confidence_kind": "observed_frequency",
"sample_count": 184,
"source": "dataset",
"result_status": "identified",
"reason": null,
"country_source": "dataset",
"match": {
"name": "prenses",
"method": "normalized",
"scope": "country",
"country": "TR"
}
},
"meta": {
"request_id": "a799faa4-bc1a-4537-90b3-2c1b60205499",
"duration_ms": 15,
"access": {
"mode": "api_key",
"reason": null
},
"usage": {
"charged_credits": 1,
"remaining_credits": 49999,
"billing_status": "confirmed",
"resets_at": null,
"limit": null,
"period_seconds": null
}
}
}अनुमान के रिस्पॉन्स फ़ील्ड
| फ़ील्ड | प्रकार | Nullable | उदाहरण | विवरण |
|---|---|---|---|---|
data.input | object | नहीं | {"type":"name","value":"Rahul","country":"IN"} | इनपुट का प्रकार, मान और देश। forceToGenderize true होने पर शामिल होता है। |
data.name | string | हाँ | "rahul" | मिलान किया गया या निकाला गया पहला नाम; उपलब्ध न होने पर null। |
data.gender | string | हाँ | "male" | male, female या JSON null। यह अनुमान है, व्यक्ति की सत्यापित पहचान नहीं। |
data.result_status | string | नहीं | "identified" | लिंग लौटाए जाने पर identified; नहीं तो unknown। |
data.reason | string | हाँ | null | identified परिणामों में null। अज्ञात परिणाम के कारण: not_found, no_name_candidate, ambiguous या insufficient_evidence। |
data.confidence | number | हाँ | 0.95 | 0–1 स्कोर या null। null gender का कॉन्फिडेंस स्कोर भी null होता है। |
data.confidence_kind | string | हाँ | "observed_frequency" | observed_frequency: डेटासेट की प्रमुख गिनती / कुल गिनती। model_reported: AI का स्कोर, कैलिब्रेटेड प्रायिकता नहीं। उपलब्ध न होने पर null। |
data.sample_count | integer | हाँ | 1200 | डेटासेट के सैंपल का आकार या null। AI कोई सैंपल गिनती नहीं गढ़ता। |
data.source | string | नहीं | "dataset" | dataset, ai या none। |
data.country | string | हाँ | "IN" | dataset या ai_association से देश का संबंध, या null। इससे राष्ट्रीयता, निवास या जातीयता तय नहीं होती। |
data.country_source | string | हाँ | "dataset" | देश के संबंध का स्रोत: dataset, ai_association या null। |
data.match | object | नहीं | {"name":"rahul","method":"normalized","scope":"country","country":"IN"} | डेटासेट में मिला नाम, method (normalized, token, substring या model_inference), देश/वैश्विक दायरा और मिलान वाला देश। उपलब्ध न होने वाले साक्ष्य null होते हैं। |
एक्सेस, बिलिंग और अनुरोध का मेटाडेटा
| फ़ील्ड | प्रकार | Nullable | उदाहरण | विवरण |
|---|---|---|---|---|
meta.request_id | string | नहीं | "550e8400-e29b-41d4-a716-446655440000" | इस HTTP प्रयास का यूनिक पहचानकर्ता; X-Request-ID में भी भेजा जाता है। |
meta.duration_ms | integer | नहीं | 42 | मिलीसेकंड में अनुरोध प्रोसेस होने का समय। |
meta.access.mode | string | नहीं | "api_key" | api_key, ip_trial या unauthenticated। पेड अकाउंट इस्तेमाल करते समय api_key की पुष्टि करें। |
meta.access.reason | string | हाँ | null | IP ट्रायल पर जाने का कारण: api_key_missing, api_key_invalid या api_key_not_found; बाकी मामलों में null। |
meta.usage.charged_credits | integer | हाँ | 1 | कुल कटे हुए क्रेडिट। शुल्क लगने से पहले या पूरे रिफ़ंड की पुष्टि के बाद शून्य; बिलिंग की पुष्टि न होने पर null। |
meta.usage.remaining_credits | integer | हाँ | 99 | प्रक्रिया पूरी होने के समय का बैलेंस। नेगेटिव हो सकता है; उपलब्ध न होने या बिलिंग की पुष्टि न होने पर null। |
meta.usage.billing_status | string | नहीं | "confirmed" | not_charged, confirmed या unconfirmed। विफल अनुमान का दोबारा प्रयास करने से पहले इसे जाँचें। |
meta.usage.resets_at | string | हाँ | "2026-09-27T12:00:00.000Z" | UTC में IP ट्रायल रीसेट होने का समय (ISO 8601); API कुंजी वाले अकाउंट के लिए या पता न होने पर null। |
meta.usage.limit | integer | हाँ | 10 | IP ट्रायल की सीमा; API कुंजी वाले अकाउंट के लिए null। |
meta.usage.period_seconds | integer | हाँ | 86400 | सेकंड में IP ट्रायल की अवधि; API कुंजी वाले अकाउंट के लिए null। |
निकनेम का अनुमान पढ़ें
उदाहरण में forceToGenderize: true इस्तेमाल किया गया है। डेटासेट से परिणाम मिलने पर 1 क्रेडिट लगता है। न मिलने पर API छद्मनाम का अर्थ समझने के लिए AI से पूछता है और सफल प्रक्रिया पर कुल 2 क्रेडिट लेता है, अज्ञात परिणाम पर भी। ai_mode छोड़ दें या fallback पर सेट करें; off और always का forceToGenderize से टकराव होता है और 422 लौटता है।
निकनेम मोड में name: null के साथ अनुमानित लिंग मिलना मान्य है। इसका मतलब है कि कोई असली पहला नाम नहीं निकाला गया; यह पार्सर की त्रुटि नहीं है। लिंग लौटाने वाले AI परिणामों में sample_count: null और confidence_kind: model_reported होता है। यह स्कोर कैलिब्रेटेड प्रायिकता या सत्यापित पहचान नहीं है।
forceToGenderize के बिना भी एकल यूज़रनेम अनुरोध डिफ़ॉल्ट रूप से सामान्य AI फ़ॉलबैक इस्तेमाल करता है, कुल 1 क्रेडिट में, लेकिन इसके लिए इस्तेमाल करने लायक असली पहला नाम चाहिए। सिर्फ़ डेटासेट से प्रोसेसिंग के लिए options.ai_mode: off इस्तेमाल करें।