अनुकूलित डेटा समानता API

ऑप्टिमाइज्ड डेटा ऑप्टिमाइज्ड डेटा समानता एपीआई: अपने अनुप्रयोगों को उच्च प्रदर्शन के लिए तैयार किए गए कुशल डेटा समानता समाधानों के साथ सुधारें
इस API को अपने AI एजेंट से MCP के माध्यम से उपयोग करें
OpenClaw, Claude Code/Desktop, Cursor, Windsurf, Cline और किसी भी MCP-संगत AI क्लाइंट के साथ काम करता है।
डॉक्स और सेटअप
इस MCP को रैप करके एक स्किल बनाएं: https://mcp.zylalabs.com/mcp?apikey=YOUR_ZYLA_API_KEY

लंबा विवरण (संतुलित, बाजार-मुखी)

अनुकूलित डेटा समानता API एक उच्च-गति का फजी मिलान और डुप्लीकेशन API है जो वास्तविक दुनिया के गंदे डेटा के लिए बनाया गया है यह आपको लगभग डुप्लिकेट रिकॉर्ड पहचानने और संस्थाओं को पुनःconcile करने में मदद करता है जब मान सटीक रूप से मेल नहीं खाते - टाइपोस, केस में अंतर, विराम चिह्न की कमी, स्पेसिंग मुद्दे, संक्षिप्तियाँ, और छोटे शब्द-क्रम परिवर्तन

अपने स्वयं के फजी मिलान पाइपलाइन बनाने और ट्यून करने के बजाय आप अपने स्ट्रिंग्स (या रिकॉर्ड) को API पर भेजते हैं और समानता स्कोर किए गए मैच प्राप्त करते हैं जिन पर आप भरोसा कर सकते हैं सामान्य आउटपुट में मिलान जोड़े शामिल होते हैं (जैसे "एप्पल" ↔ "एप्पल इंक।"), समानता स्कोर, और संरचित परिणाम जो डेटा Reinigung कार्यप्रवाह, CRM, ETL नौकरियों और एनालिटिक्स पाइपलाइनों में प्लग करने में आसान होते हैं

सामान्य उपयोग मामलों:

  • सूची को डुप्लीकेट करें: एक डेटा सेट के भीतर डुप्लीकेट खोजें (सभी से सभी का मिलान) और संभावित डुप्लीकेट जोड़े लौटाएं

  • मास्टर लिस्ट के खिलाफ मिलान करें: एक आने वाली सूची को एक कैनोनिकल सेट से मिलाएं (सूची से मास्टर)

  • CRM और ग्राहक डेटा स्वच्छता: उन लीड/खातों/कंपनियों को साफ करें जहां डुप्लीकेट रिपोर्टिंग और आउटरीच को तोड़ते हैं

  • संस्थान समाधान और रिकॉर्ड लिंक: स्रोतों के बीच एक ही वास्तविक दुनिया के संस्थाओं के संदर्भों को कनेक्ट करें

टीमें इसका उपयोग क्यों करती हैं:

  • बिना किसी समस्या के गंदे पाठ पर काम करता है (प्रत्येक एज मामले के लिए कोई मैन्युअल नियम नहीं)

  • रैंकिंग और थ्रेशोल्ड के लिए समानता स्कोर (आप तय करते हैं कि कितने सख्त होना है)

  • स्केल और स्वचालन के लिए बनाया गया (पाइपलाइनों में चलाने के लिए डिज़ाइन किया गया, केवल एक बार के स्क्रिप्ट नहीं)

API डॉक्यूमेंटेशन

एंडपॉइंट्स


Dedupe is an all-to-all fuzzy matching endpoint for finding duplicates within a single list of strings. Instead of comparing only two inputs per API call, you send a dataset and it returns similar pairs and/or deduplicated groups across the entire set.

 

Why you’d use it

  • Massive speedup: typically ~300× to 1,000× faster than “regular” approaches people try first (pairwise comparisons, looping fuzzy scorers, etc.) once you go beyond tiny lists.

  • Optional cleanup built-in: you can enable common text cleanup (lowercasing, punctuation removal, token sorting). This saves hours (or days) of development + ongoing maintenance.

  • Company suffixes handled automatically: common endings like “Inc”, “LLC”, “Ltd”, etc. are stripped so you match the real name.

 

Benchmarks: similarity-api/blog/speed-benchmarks (1M records in ~7 minutes; faster than common Python fuzzy matching libraries).

 

Hard limits on Zyla

  • Max 1,000 strings per request (enforced).

Need bigger / unlimited?

  • Use the full version at similarity-api/docs

 

Parameters (POST request)

  • data (required)

    A string containing a JSON array of strings.

        Example value for data:
        ["Acme Inc","ACME LLC","Globex GmbH"]

  • similarity_threshold (optional, 0.0 to 1.0, default 0.75)

        Higher = stricter matching (fewer pairs). Typical: 0.80–0.90 for company dedupe.

  • remove_punctuation (optional, true/false, default true)

        Removes punctuation differences (e.g., “A.C.M.E.” vs “ACME”).

  • to_lowercase (optional, true/false, default true)

        Makes matching case-insensitive.

  • use_token_sort (optional, true/false, default false)

    Helps when word order changes (e.g., “Bank of America” vs “America Bank of”).

  • output_format (optional, default string_pairs)

    This exndpoint can return data in multiple formats. Please select one of the following:

    • string_pairs:

      • Returns the duplicate matches as text, so you can read them immediately.
        Each row is: [string_A, string_B, similarity]
        Use when: you want to see which names matched which names.
    • index_pairs

      • Same as string_pairs, but returns positions in your input list instead of the strings.
        Each row is: [index_A, index_B, similarity]
        Use when: you want to join results back to your source rows safely (databases, spreadsheets, CRM exports).
    • deduped_strings:

      • Returns a cleaned list with duplicates removed (keeps one representative from each duplicate group).
        Use when: you want a final list to export/use, without worrying about mapping back.
    • deduped_indices

      • Same idea as deduped_strings, but returns the indices of the kept items.
        Use when: you want to keep the original rows (by index) and drop the duplicates.
    • membership_map

      • Returns a list the same length as your input where each position tells you the representative index for that item.
        Example: [0,0,0,3,3] means rows 0/1/2 are one group (rep=0) and rows 3/4 are another (rep=3).
        Use when: you want clustering / group IDs per row.
    • row_annotations

      • Returns one object per input row with an explanation of what it belongs to (rep row + similarity).
        Use when: you want a human-readable, per-row result for debugging or UI display.

  • top_k (optional, integer or "all", default "all")

    all = find all matches above threshold.

    Or an integer (e.g., 50) to limit matches per row (faster, fewer results).

     

Sample request in python

 

import requests, json

API_KEY = "YOUR_ZYLA_KEY"
URL = "API_URL/dedupe"

data_list = ["Microsoft","Micsrosoft","Apple Inc","Apple","Google LLC","9oogle"]

params = {
"data": json.dumps(data_list),
"similarity_threshold": "0.75",
"remove_punctuation": "true",
"to_lowercase": "true",
"use_token_sort": "false",
"output_format": "string_pairs",
"top_k": "all"
}

headers = {"Authorization": f"Bearer {API_KEY}"}
r = requests.post(URL, headers=headers, params=params, timeout=60)
print(r.status_code)
print(r.json())

 


                                                                            
POST https://zylalabs.com/api/11920/optimized+data+similarity+api/22654/dedupe
                                                                            
                                                                        

Dedupe - एंडपॉइंट फीचर्स

ऑब्जेक्ट विवरण
data [आवश्यक] JSON array of strings to deduplicate (max 1000). Example: ["a","b","c"]
similarity_threshold वैकल्पिक Similarity cutoff from 0 to 1. Higher values are stricter (fewer matches). Default is 0.75.
remove_punctuation वैकल्पिक If true, punctuation is removed before matching. Default is true.
to_lowercase वैकल्पिक If true, strings are lowercased before matching. Default is true.
use_token_sort वैकल्पिक If true, tokens in each string are sorted before matching. Useful when word order varies. Default is false.
output_format वैकल्पिक Default: string_pairs Allowed values (and what each means): index_pairs List of matches as [i, j, score] where i and j are indices in the input list. string_pairs List of matches as [string_i, string_j, score] using original strings. deduped_strings List of strings with duplicates removed (one representative per group). deduped_indices List of indices representing the deduplicated set (one representative per group). membership_map Array of length N where entry i is the representative index for the group of data[i]. row_annotations Array of objects (one per input row) with fields: index, original_string, rep_index, rep_string, similarity_to_rep.
top_k वैकल्पिक Limits how many neighbors are returned per input string. Use all for full dedupe, or a positive integer for top matches per row.
एंडपॉइंट टेस्ट करें

API उदाहरण प्रतिक्रिया

       
                                                                                                        
                                                                                                                                                                                                                                                                                                                                        {"status":"success","response_data":[["Apple","appl!e",1.0]]}
                                                                                                                                                                                                                    
                                                                                                    

Dedupe - कोड स्निपेट्स


curl --location --request POST 'https://zylalabs.com/api/11920/optimized+data+similarity+api/22654/dedupe?data=["Apple", "appl!e"]' --header 'Authorization: Bearer YOUR_API_KEY' 


    

API एक्सेस कुंजी और प्रमाणीकरण

साइन अप करने के बाद, प्रत्येक डेवलपर को एक पर्सनल API एक्सेस की असाइन की जाती है, जो अक्षरों और अंकों का एक यूनिक संयोजन होता है, जिसका उपयोग हमारे API एंडपॉइंट तक पहुंचने के लिए किया जाता है। प्रमाणीकरण के लिए अनुकूलित डेटा समानता API के साथ बस अपने बेयरर टोकन को Authorization हेडर में शामिल करें।
हेडर्स
हेडर विवरण
Authorization [आवश्यक] होना चाहिए Bearer access_key. जब आप सब्सक्राइब हों तो ऊपर "Your API Access Key" देखें।

सरल पारदर्शी प्राइसिंग

कोई लंबी अवधि की प्रतिबद्धता नहीं। कभी भी अपग्रेड, डाउनग्रेड या कैंसल करें।

🚀 एंटरप्राइज़

शुरू होता है
$ 10,000/वर्ष


  • कस्टम वॉल्यूम
  • कस्टम रेट लिमिट
  • विशेष ग्राहक सहायता
  • रीयल-टाइम API मॉनिटरिंग

ग्राहकों की पसंदीदा विशेषताएँ

  • ✔︎ केवल सफल रिक्वेस्ट के लिए भुगतान करें
  • ✔︎ फ्री 7-दिवसीय ट्रायल
  • ✔︎ मल्टी-लैंग्वेज सपोर्ट
  • ✔︎ एक API कुंजी, सभी APIs।
  • ✔︎ इंuitive डैशबोर्ड
  • ✔︎ व्यापक त्रुटि हैंडलिंग
  • ✔︎ डेवलपर-फ्रेंडली डॉक्यूमेंटेशन
  • ✔︎ पोस्टमैन इंटीग्रेशन
  • ✔︎ सुरक्षित HTTPS कनेक्शंस
  • ✔︎ विश्वसनीय अपटाइम

अनुकूलित डेटा समानता API FAQs

Dedupe एन्डपॉइंट मिलान की गई स्ट्रिंग्स के जोड़, समानता स्कोर्स और वैकल्पिक डिडुप्लिकेटेड परिणामों वाला एक JSON ऑब्जेक्ट लौटाता है आउटपुट को निर्दिष्ट कॉन्फ़िगरेशन के आधार पर स्ट्रिंग जोड़ों, इंडेक्स जोड़ों या डिडुप्लिकेटेड स्ट्रिंग्स के रूप में स्वरूपित किया जा सकता है

प्रतिस्पंदन डेटा में प्रमुख क्षेत्र "स्थिति" (जो सफलता या त्रुटि को दर्शाता है) और "प्रतिक्रिया_डेटा" शामिल हैं, जिसमें उपयोगकर्ता के अनुरोध के अनुसार स्वरूपित परिणाम होते हैं, जैसे मेल खाती जोड़े या डुप्लिकेट मुक्त स्ट्रिंग्स

उपयोगकर्ता "config" ऑब्जेक्ट में "similarity_threshold" जैसे पैरामीटर समायोजित करके अनुरोधों को अनुकूलित कर सकते हैं जो मिलान की सख्ती के लिए है "remove_punctuation" प्रसंस्करण के लिए है और "output_format" वांछित परिणाम संरचना चुनने के लिए है

प्रतिक्रियाओं का डेटा परिणामों के एक ऐरे के रूप में व्यवस्थित किया गया है जहां प्रत्येक प्रविष्टि एक मैच या डेडुप्लिकेट की गई स्ट्रिंग के अनुरूप होती है आउटपुट फॉर्मेट के आधार पर प्रविष्टियों में मूल स्ट्रिंग्स इंडिस और समानता स्कोर शामिल हो सकते हैं जिससे कार्यप्रविधियों में आसानी से एकीकरण संभव होता है

विशिष्ट उपयोग के मामलों में ग्राहक सूचियों की डिडुप्लिकेटिंग मास्टर सूची के खिलाफ रिकॉर्ड को सही करना CRM डेटा को साफ करना और डेटा स्रोतों के बीच एंटिटी समाधान करना शामिल है ताकि डेटा की अखंडता और सटीकता सुनिश्चित हो सके

डेटा सटीकता को उन्नत फजी मैचिंग एल्गोरिदम के माध्यम से बनाए रखा जाता है जो टाइपोग्राफिकल गलतियों और केसिंग के अंतर जैसी सामान्य डेटा समस्याओं को ध्यान में रखते हैं एपीआई को गंदे डेटा को प्रभावी ढंग से संभालने के लिए डिजाइन किया गया है जो विश्वसनीय मेलिंग के परिणामों को सुनिश्चित करता है

स्वीकृत पैरामीटर मानों में "similarity_threshold" (0 से 1), "remove_punctuation" (बूलियन), "to_lowercase" (बूलियन), "use_token_sort" (बूलियन), और "top_k" (पूर्णांक या "सभी") शामिल हैं ये पैरामीटर उपयोगकर्ताओं को मैचिंग प्रक्रिया को उनकी विशिष्ट आवश्यकताओं के अनुसार अनुकूलित करने की अनुमति देते हैं

यदि डेडुप छोर आंशिक या खाली परिणाम लौटाता है तो उपयोगकर्ताओं को गुणवत्ता मुद्दों के लिए इनपुट डेटा की जांच करनी चाहिए जैसे अत्यधिक डुप्लिकेट या बहुत कम समानता थ्रेशोल्ड "समानता_थ्रेशोल्ड" को समायोजित करना या इनपुट सूची की समीक्षा करना परिणामों में सुधार करने में मदद कर सकता है

सामान्य FAQs

Zyla API Hub APIs के लिए एक बड़ा स्टोर जैसा है, जहाँ आप हजारों APIs एक ही जगह पर पा सकते हैं। हम सभी APIs की समर्पित सपोर्ट और रीयल-टाइम मॉनिटरिंग भी प्रदान करते हैं। एक बार साइन अप करने के बाद, आप चुन सकते हैं कि कौन सी APIs उपयोग करनी हैं। बस याद रखें, प्रत्येक API को अपनी स्वयं की सब्सक्रिप्शन की आवश्यकता होती है। लेकिन यदि आप कई APIs पर सब्सक्राइब करते हैं, तो आप सभी के लिए एक ही की का उपयोग करेंगे, जिससे आपके लिए चीज़ें आसान हो जाती हैं।

कीमतें USD (अमेरिकी डॉलर), EUR (यूरो), CAD (कनाडाई डॉलर), AUD (ऑस्ट्रेलियाई डॉलर), और GBP (ब्रिटिश पाउंड) में सूचीबद्ध हैं। हम सभी प्रमुख डेबिट और क्रेडिट कार्ड स्वीकार करते हैं। हमारा पेमेंट सिस्टम नवीनतम सुरक्षा तकनीक का उपयोग करता है और Stripe द्वारा संचालित है, जो दुनिया की सबसे विश्वसनीय पेमेंट कंपनियों में से एक है। यदि आपको कार्ड से पेमेंट करने में कोई समस्या हो, तो बस हमसे संपर्क करें [email protected]


इसके अलावा, यदि आपके पास पहले से ही इनमें से किसी भी करेंसी (USD, EUR, CAD, AUD, GBP) में एक सक्रिय सब्सक्रिप्शन है, तो बाद की सब्सक्रिप्शंस के लिए वही करेंसी बनी रहेगी। जब तक आपके पास कोई सक्रिय सब्सक्रिप्शन नहीं है, आप किसी भी समय करेंसी बदल सकते हैं।

प्राइसिंग पेज पर दिखाई देने वाली स्थानीय करेंसी आपके IP पते के देश पर आधारित है और केवल संदर्भ के लिए प्रदान की गई है। वास्तविक कीमतें USD (अमेरिकी डॉलर) में हैं। जब आप भुगतान करते हैं, तो आपके कार्ड स्टेटमेंट पर चार्ज USD में दिखाई देगा, भले ही हमारी वेबसाइट पर आपको आपकी स्थानीय करेंसी में समतुल्य राशि दिखाई दे। इसका अर्थ है कि आप सीधे अपनी स्थानीय करेंसी से भुगतान नहीं कर सकते।

कभी-कभी, बैंक फ्रॉड प्रोटेक्शन सेटिंग्स के कारण चार्ज को डिक्लाइन कर सकता है। हम सुझाव देते हैं कि आप पहले अपने बैंक से संपर्क करें कि क्या वे हमारे चार्ज को ब्लॉक कर रहे हैं। साथ ही, आप बिलिंग पोर्टल तक पहुंच सकते हैं और भुगतान करने के लिए जुड़े कार्ड को बदल सकते हैं। यदि यह काम नहीं करता और आपको अतिरिक्त सहायता की आवश्यकता है, तो कृपया हमारी टीम से संपर्क करें [email protected]

कीमतें पुनरावर्ती मासिक या वार्षिक सब्सक्रिप्शन के आधार पर निर्धारित की जाती हैं, जो चुने गए प्लान पर निर्भर करती हैं।

API कॉल्स आपके प्लान से सफल रिक्वेस्ट के आधार पर घटाई जाती हैं। प्रत्येक प्लान में प्रति माह आप जितनी कॉल कर सकते हैं उसकी एक विशेष संख्या होती है। केवल सफल कॉल्स, जो स्टेटस 200 रिस्पॉन्स से इंगित होती हैं, आपकी कुल संख्या से घटाई जाएँगी। इससे सुनिश्चित होता है कि असफल या अधूरी रिक्वेस्ट आपके मासिक कोटा को प्रभावित नहीं करतीं।

Zyla API Hub एक पुनरावर्ती मासिक सब्सक्रिप्शन सिस्टम पर काम करता है। आपका बिलिंग साइकल उस दिन से शुरू होगा जिस दिन आप किसी पेड प्लान को खरीदते हैं, और अगले महीने के उसी दिन नवीनीकृत होगा। इसलिए यदि आप भविष्य के चार्ज से बचना चाहते हैं, तो समय पर अपनी सब्सक्रिप्शन कैंसल करना सुनिश्चित करें।

अपनी मौजूदा सब्सक्रिप्शन प्लान को अपग्रेड करने के लिए, बस API के प्राइसिंग पेज पर जाएँ और वह प्लान चुनें जिस पर आप अपग्रेड करना चाहते हैं। अपग्रेड तुरंत प्रभावी होगा, जिससे आपको नए प्लान की सुविधाओं का तुरंत आनंद मिलेगा। कृपया ध्यान दें कि आपके पिछले प्लान से बची हुई कॉल्स नए प्लान में नहीं जोड़ी जाएँगी, इसलिए अपग्रेड करने से पहले इसे ध्यान में रखें। आपको नए प्लान की पूरी राशि चार्ज की जाएगी।

यह देखने के लिए कि आपके पास वर्तमान महीने के लिए कितनी API कॉल्स बची हैं, रिस्पॉन्स हेडर में "X-Zyla-API-Calls-Monthly-Remaining" फ़ील्ड देखें। उदाहरण के लिए, यदि आपके प्लान में प्रति माह 1,000 रिक्वेस्ट की अनुमति है और आपने 100 का उपयोग किया है, तो रिस्पॉन्स हेडर में यह फ़ील्ड 900 बची हुई कॉल्स दिखाएगा।

आपके प्लान में अनुमत API रिक्वेस्ट्स की अधिकतम संख्या देखने के लिए, "X-Zyla-RateLimit-Limit" रिस्पॉन्स हेडर देखें। उदाहरण के लिए, यदि आपके प्लान में प्रति माह 1,000 रिक्वेस्ट्स शामिल हैं, तो यह हेडर 1,000 दिखाएगा।

"X-Zyla-RateLimit-Reset" हेडर यह दिखाता है कि आपकी रेट लिमिट रीसेट होने में कितने सेकंड बचे हैं। यह आपको बताता है कि आपकी रिक्वेस्ट गिनती कब से फिर से शुरू होगी। उदाहरण के लिए, यदि यह 3,600 दिखाता है, तो इसका मतलब है कि लिमिट रीसेट होने में 3,600 सेकंड बचे हैं।

हाँ, आप कभी भी अपने अकाउंट में जाकर और बिलिंग पेज पर कैंसिलेशन विकल्प चुनकर अपना प्लान कैंसल कर सकते हैं। कृपया ध्यान दें कि अपग्रेड, डाउनग्रेड और कैंसिलेशन तुरंत प्रभावी होते हैं। साथ ही, कैंसल करने पर आपको सेवा तक पहुंच नहीं होगी, भले ही आपके कोटा में कॉल्स बची हों।

आप तुरंत सहायता प्राप्त करने के लिए हमारे चैट चैनल के माध्यम से हमसे संपर्क कर सकते हैं। हम हमेशा सुबह 8 बजे से शाम 5 बजे (EST) तक ऑनलाइन रहते हैं। यदि आप हमें उस समय के बाद संपर्क करते हैं, तो हम यथाशीघ्र आपसे संपर्क करेंगे। इसके अलावा, आप हमें ईमेल के माध्यम से भी संपर्क कर सकते हैं [email protected]

आपको बिना किसी प्रतिबद्धता के हमारी APIs का अनुभव करने का मौका देने के लिए, हम 7-दिवसीय फ्री ट्रायल प्रदान करते हैं, जो आपको 50 API कॉल्स तक मुफ्त में करने की अनुमति देता है। यह ट्रायल केवल एक बार उपयोग किया जा सकता है, इसलिए हम सलाह देते हैं कि आप इसे उस API पर लागू करें जिसमें आपको सबसे अधिक रुचि है। जबकि अधिकांश APIs फ्री ट्रायल प्रदान करते हैं, कुछ शायद न करें। ट्रायल 7 दिनों के बाद या 50 रिक्वेस्ट होने पर, जो भी पहले हो, समाप्त हो जाता है। यदि आप ट्रायल के दौरान 50 रिक्वेस्ट लिमिट तक पहुँच जाते हैं, तो रिक्वेस्ट जारी रखने के लिए आपको "Start Your Paid Plan" करना होगा। आप अपने प्रोफाइल में Subscription -> जिस API पर आप सब्सक्राइब हैं उसे चुनें -> Pricing टैब में "Start Your Paid Plan" बटन पा सकते हैं। यदि आप 7वें दिन से पहले अपनी सब्सक्रिप्शन कैंसल नहीं करते हैं, तो आपका फ्री ट्रायल समाप्त हो जाएगा और आपका प्लान अपने आप चार्ज हो जाएगा, जिससे आपको अपने प्लान में निर्दिष्ट सभी API कॉल्स तक पहुंच मिल जाएगी। अवांछित चार्ज से बचने के लिए कृपया इसे ध्यान में रखें।

7 दिनों के बाद, आपको उस प्लान की पूरी राशि चार्ज की जाएगी, जिस पर आप ट्रायल के दौरान सब्सक्राइब थे। इसलिए, ट्रायल अवधि समाप्त होने से पहले कैंसल करना महत्वपूर्ण है। समय पर कैंसल करना भूलने के लिए रिफंड अनुरोध स्वीकार नहीं किए जाते।

जब आप किसी API के फ्री ट्रायल पर सब्सक्राइब करते हैं, तो आप 50 API कॉल्स तक कर सकते हैं। यदि आप इस लिमिट से आगे अतिरिक्त API कॉल्स करना चाहते हैं, तो API आपको "Start Your Paid Plan" करने का संकेत देगा। आप अपने प्रोफाइल में Subscription -> जिस API पर आप सब्सक्राइब हैं उसे चुनें -> Pricing टैब में "Start Your Paid Plan" बटन पा सकते हैं।

पAYOUT ऑर्डर्स महीने की 20 तारीख से 30 तारीख के बीच प्रोसेस किए जाते हैं। यदि आप अपना अनुरोध 20 तारीख से पहले सबमिट करते हैं, तो आपका पेमेंट इस समयावधि के भीतर प्रोसेस किया जाएगा।


संबंधित APIs


आपको ये भी पसंद आ सकते हैं