Come utilizzare l'API ZeroBounce

Convalida email (v1)

Below you will find the instructions on how to use our API, it's very easy to use and requires SSL. The API requires that you have an active credit balance and will never consume a credit for any unknown result. This endpoint can be called asynchronously and is currently not rate limited.

Per eseguire il test o l'API senza utilizzare crediti: utilizzare le e-mail fornite nella nostra documentazione sandbox.

Il tempo di risposta per la nostra API è compreso tra un secondo e 70 secondi. Poiché le API sono pensate per essere veloci per natura, limitiamo la quantità di tempo che dedichiamo alla convalida di un indirizzo email. Quindi, se incontriamo un server di posta lento o un server di posta con un algoritmo di greylisting, otterrai un risultato sconosciuto. Puoi sempre riconvalidare tali condizioni, caricando un file nel validatore di email in blocco.

In media il 96-98% di tutti i domini tornerà tra 1 e 5 secondi, ci sono una manciata di domini che eseguono Postfix / Dovecot che hanno un tempo di connessione di 20 secondo per le convalide in tempo reale e un piccola percentuale frazionaria di altri domini che sono molto lenti a rispondere alle richieste SMTP. Tutti i principali ISP torneranno tra 1 e 3 secondi, che di solito è la maggior parte della distribuzione della posta elettronica.

GET / v1 / validate

URL API: https://bulkapi.zerobounce.net/v1/validate

URL API (con GEO Append):https://bulkapi.zerobounce.net/v1/validatewithip

Parametri URL

  • Parametro
    Descrizione
  • E-MAIL
    L'indirizzo e-mail che desideri convalidare
  • ipaddress
    L'indirizzo IP da cui l'email è stata registrata (può essere vuoto, ma il parametro è richiesto)
  • apikey
    La tua chiave API, trovata nel tuo account

Se vuoi chiamare l'API dal tuo browser per testarla, tutto ciò che devi fare è sostituire l'API KEY con la tua chiave:

https://api.zerobounce.net/v1/validatewithip?apikey=replacewithyours&email=valid@example.com&ipAddress=156.124.12.145

o se non hai bisogno di GEO Append chiama semplicemente il metodo validate.

https://api.zerobounce.net/v1/validate?apikey=replacewithyours&email=valid@example.com

L'API restituirà questi risultati in un formato JSON utilizzando il metodo "Validate".

  • Proprietà
    Descrizione
  • indirizzo
    L'indirizzo email che stai convalidando.
  • stato
    [valido, non valido, generico, sconosciuto, spamtrap, abuso, do_not_mail]
  • sub_status
    [antispam_system, greylist, mail_server_temporary_error, forcible_disconnect, mail_server_did_not_respond, timeout_exceeded, failed_smtp_connection, mailbox_quota_exceeded, exception_occurred, possible_traps, role_based, global_suppression, mailbox_not_found, no_dns_entries, failed_syntax_check, possible_typo, unroutable_ip_address, leading_period_removed, does_not_accept_mail, alias_address]
  • account
    La parte dell'indirizzo e-mail prima del simbolo "@".
  • Dominio
    La parte dell'indirizzo e-mail dopo il simbolo "@".
  • monouso
    [true, false] Se il dominio di posta elettronica è usa e getta, che di solito sono indirizzi di posta elettronica temporanei.
  • tossico
    [true, false] Questi indirizzi email sono noti per essere abusi, spam o creati da bot.
  • nome di battesimo
    Il nome del proprietario dell'email se disponibile o [null].
  • cognome
    Il cognome del proprietario dell'email se disponibile o [null].
  • genere
    Il sesso del proprietario dell'email se disponibile o [null].
  • data di creazione
    La data di creazione dell'email se disponibile o [null] [Obsolete].
  • posizione
    La posizione del proprietario dell'email, se disponibile o [null] [Obsolete].
  • elaborato
    L'ora UTC in cui è stata convalidata l'email.

L'API restituirà questi campi aggiuntivi utilizzando "validatewithip" restituirà questi campi aggiuntivi aggiuntivi utilizzando il metodo validatewithip:

  • Proprietà
    Descrizione
  • città
    La città dell'IP è passata.
  • regione
    La regione / stato dell'IP trasmesso.
  • cap
    Il codice postale dell'IP passato.
  • nazione
    Il paese dell'IP è passato.

Convalida esempi di codice email

  • Visual Basic
  • C#
  • PHP
  • Giava
  • Pitone
  • Veloce
  • Obiettivo C
  • Android Java
      
'Librerie API complete e wrapper sono disponibili qui: 
' https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net

  PROVARE
  Fioco apiKey Come Corda = "La tua chiave segreta"
  Fioco emailToValidate Come Corda = "example@example.com"
  Fioco responseString Come Corda = ""
  Fioco apiURL Come Corda = "https://api.zerobounce.net/v1/validate?apikey=" & apiKey & "& email =" &  HttpUtility.UrlEncode(emailToValidate)
  Rimuovi il commento per utilizzare l'API opzionale con la ricerca IP
  'Dim apiURL as string = "https://api.zerobounce.net/v1/validatewithip?apikey=" & apiKey &" & email = "& HttpUtility.UrlEncode (emailToValidate) &" & ipaddress = "& HttpUtility.UrlEncode (" 99.123.12.122 ")


  Fioco request Come HttpWebRequest = Directcast(WebRequest.Create(apiURL), HttpWebRequest)
  request.Tempo scaduto = 150000
  request.Method = "OTTENERE"

  Utilizzando response Come WebResponse = request.GetResponse()
      response.GetResponseStream().ReadTimeout = 20000
      Utilizzando ostream Come Nuovo StreamReader(response.GetResponseStream())
          responseString = ostream.ReadToEnd()
      Fine Utilizzando
  Fine Utilizzando
Catturare ex Come exception
'Eccezione di cattura - Tutti gli errori verranno visualizzati qui - se ci sono problemi con l'API
Fine PROVARE

    

    // Le librerie e i wrapper API completi sono disponibili qui: 
    // https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__dot_net
    // https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__c-sharp

    PROVARE {
      Corda apiKey = "La tua chiave segreta";
      Corda emailToValidate = "example@example.com";
      Corda responseString = "";
          Corda apiURL = "https://api.zerobounce.net/v1/validate?apikey=" + apiKey + "& email =" +  HttpUtility.Urlencode(emailToValidate);
      
              // Rimuovere il commento per utilizzare l'API opzionale con la ricerca IP
              // string apiURL = "https://api.zerobounce.net/v1/validatewithip?apikey=" + apiKey +" & email = "+ HttpUility.UrlEncode (emailToValidate); +" & ipaddress = "+ HttpUtility.UrlEncode (" 99.123.12.122 ")
      
          Httpwebrequest request = (HttpWebRequest)WebRequest.creare(apiURL);
          request.Timeout = 150000;
          request.Method = "OTTENERE";
      
          Utilizzando (Webresponse response = request.GetResponse()) {
              response.Getresponsestream().ReadTimeout = 20000;
              Utilizzando (Streamreader ostream = Nuovo Streamreader(response.Getresponsestream())) {
                  responseString = ostream.Readtoend();
              }
          }
          } Catturare (exception ex) {
      // Eccezione di cattura: qui verranno visualizzati tutti gli errori, in caso di problemi con l'API
      }
    

    <?php
    // Le librerie e i wrapper API completi sono disponibili qui: 
    // https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__php

    
    // imposta la chiave api e l'e-mail da convalidare
    $ apiKey = "La tua chiave segreta";
    $ emailToValidate = 'example@example.com';
    $ IPToValidate = '99.123.12.122';
    // usa curl per fare la richiesta
    $ url = 'https://api.zerobounce.net/v1/validate?apikey='.$ apiKey."& email =".Urlencode($ emailToValidate);
    // Rimuovere il commento per utilizzare l'API opzionale con la ricerca IP
    // $ url = "https://api.zerobounce.net/v1/validatewithip?apikey='.$apiKey.'&email='.urlencode($emailToValidate).'&ipaddress='.urlencode($IPToValidate);
    
    $ ch = curl_init($ url);
    //PHP 5.5.19 e versioni successive supportano TLS  1.2
    curl_setopt($ ch, CURLOPT_SSLVERSION, 6);
    curl_setopt($ ch, CURLOPT_RETURNTRANSFER, Vero);
    curl_setopt($ ch, CURLOPT_CONNECTTIMEOUT, 15); 
    curl_setopt($ ch, CURLOPT_TIMEOUT, 150); 
    $ risposta = curl_exec($ ch);
    curl_close($ ch);
    
    // decodifica la risposta json
    $ json = json_decode($ risposta, Vero);
    ?>
    


  // Le librerie e i wrapper API completi sono disponibili qui: 
  //https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__java

    importare Giava.io.Bufferedreader;
    importare Giava.io.Inputstreamreader;
    importare Giava.netto.Httpurlconnection;
    importare Giava.netto.URL;
    
    Pubblico Classe La mia classe {
    
        Pubblico statico vuoto principale(Corda[] args){
    
            Corda key = "La tua chiave segreta";
            Corda email = "example@example.com";
            Corda ip = "99.123.12.122";
            Corda targetURL = "https://api.zerobounce.net/v1/validate?apikey="+key+"& email ="+email;
    // Rimuovere il commento per utilizzare l'API opzionale con la ricerca IP
    // String targetURL = "https://api.zerobounce.net/v1/validatewithip?apikey="+key+"&email="+email+"&ipaddress="+ip;
    
            Httpurlconnection connection = nullo;
            finale Corda USER_AGENT = "Mozilla / 5.0";
    
            PROVARE {
                url url = Nuovo url(targetURL);
                connection = (Httpurlconnection) url.connessione aperta();
                connection.setrequestmethod("OTTENERE");
                connection.addrequestproperty("user-agent", USER_AGENT);
                connection.setusecaches(Falso);
                connection.setdooutput(Vero);
    
                Bufferedreader in = Nuovo Bufferedreader(
                        Nuovo Inputstreamreader(connection.getinputstream()));
                Corda inputLine;
                Stringbuffer response = Nuovo Stringbuffer();
    
                mentre ((inputLine = in.linea di lettura()) != nullo) {
                    response.aggiungere(inputLine);
                }
                in.vicino();
    
                // stampa il risultato
                Sistema.out.println(response.toString());
    
            } Catturare (Eccezione e) {
                e.printstacktrace();
            } finalmente {
                Se (connection != nullo) {
                    connection.disconnect();
                }
            }
    
        }
    }
    

    # Librerie e wrapper API completi sono disponibili qui: 
    # https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__python
    
    url = "https://api.zerobounce.net/v1/validate"
    apikey = "La tua chiave segreta"
    email = "example@example.com"
    ipaddress = "99.123.12.122"
    
    params = {"e-mail": email, "apikey": apikey}
    
    # Rimuovere il commento per utilizzare l'API opzionale con la ricerca IP
    # params ["ipaddress"] = ipaddress
    
    response = requests.get(url, params=params)
    
    # Stampa il json restituito
    stampare json.loads(response.content)
    
    


  // Le librerie e i wrapper API completi sono disponibili qui: 
  // https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__IOS

    permettere key = "La tua chiave segreta"
    permettere email = "example@example.com"
    permettere url = url(string: Corda(format: "https://api.zerobounce.net/v1/validate?apikey=%@&email=%@", key, email))
    permettere ip = "99.123.12.122"
    // Rimuovere il commento per utilizzare l'API opzionale con la ricerca IP
    // let url = URL (string: String (format: "https://api.zerobounce.net/v1/validatewithip?apikey=%@&email=%@&ipaddress=%@", key, email, ip))
    permettere task = Urlsession.shared.datatask(with: url!) { (data, response, error) in
        Se error != zero {
            NSLog("Errore (stringa (che descrive: errore))")
        } altro {
            fare {
                permettere parsedData = PROVARE Jsonserialization.jsonobject(with: data!) Come! [Corda:Qualunque]
                per (key, value) in parsedData {
                    NSLog("(chiave) = (valore)")
                }
            } Catturare {
                stampare("Errore durante la deserializzazione di JSON: (errore)")
            }
        }
    }
    task.curriculum vitae()
    


  // Le librerie e i wrapper API completi sono disponibili qui: 
  // https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__IOS


    NSString *key = @ "La tua chiave segreta";
    NSString *email = @"example@example.com";
    NSString *ip = @"99.123.12.122";
    NSString *urlString = [NSString stringWithFormat:@"https://api.zerobounce.net/v1/validate?apikey=%@&email=%@", key, email];
    // NSString * urlString = [NSString stringWithFormat: @ "https://api.zerobounce.net/v1/validatewithip?apikey=%@&email=%@&ipaddress=%@", key, email, ip];
    // Rimuovere il commento per utilizzare l'API opzionale con la ricerca IP
    
    
    __block NSURL *url = [NSURL URLWithString:urlString];
    
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    
        NSData *response = [NSData dataWithContentsOfURL:url];
        NSDictionary *arrResponse = nil;
        Se(response!=nil)
        {
            arrResponse = [NSJSONSerialization JSONObjectWithData: response options:kNilOptions error:nil];
        }
        dispatch_async(dispatch_get_main_queue(), ^(vuoto) {
            per(NSString *key in [arrResponse allKeys]) {
                NSLog(@"%@: %@",key,[arrResponse objectForKey:key]);
            }
    // callback (nil, arr);
        });
    });
    



  // Le librerie e i wrapper API completi sono disponibili qui: 
  // https://www.zerobounce.net/docs/zerobounce-api-wrappers/#api_wrappers__v2__android

    // Aggiungi a build.gradle (App) nella parentesi "android":
    useLibrary "org.apache.http.legacy"
    
    //Esempio:
    
    android {
        compileSdkVersion 25
        useLibrary "org.apache.http.legacy"
    }
    
    //-----------------------------------
    
    // Nome file: JsonParser.java
    
    
    importare androide.os.Asynctask;
    importare org.json.jsonobject;
    importare Giava.util.Iteratore;
    
    Pubblico Classe Attività principale si estende Appcompatactivity {
    
        @Oltrepassare
        protetto vuoto oncreate(Impacchettare savedInstanceState) {
            super.oncreate(savedInstanceState);
    
            Nuovo Asynctaskparsejson().eseguire();
        }
    }
    
    Pubblico Classe Asynctaskparsejson si estende Asynctask<Corda, Corda, Corda> {
    
        Corda key = "La tua chiave segreta";
        Corda email = "example@example.com";
        Corda ip = "99.123.12.122";
        Corda url = "https://api.zerobounce.net/v1/validate?apikey="+key+"& email ="+email;
    // Rimuovere il commento per utilizzare l'API opzionale con la ricerca IP
    // String url = "https://api.zerobounce.net/v1/validatewithip?apikey="+key+"&email="+email+"&ipaddress="+ip;
    
        @Oltrepassare
        protetto vuoto onpreexecute() {
        }
    
        @Oltrepassare
        protetto Corda doinbackground(Corda... arg0) {
    
            Jsonparser jParser = Nuovo Jsonparser();
            jsonobject json = jParser.getjsonfromurl(url);
            Iteratore keys = json.chiavi();
            mentre( keys.hasnext() ) {
                Corda key = (Corda)keys.il prossimo();
                PROVARE {
                    Sistema.out.println("ZeroBounce:"+key+" = " +json.ottenere(key).toString());
                }
                Catturare (Eccezione e){}
            }
    
            Ritorno nullo;
        }
        @Oltrepassare
        protetto vuoto onpostexecute(Corda strFromDoInBg) {}
    }
    
    //----------------------------------
    
    // Nome file: MainActivity.java
    
    pacchetto com.Zerobounce.zbapiandroid;
    
    importare Giava.io.Bufferedreader;
    importare Giava.io.Ioexception;
    importare Giava.io.Inputstream;
    importare Giava.io.Inputstreamreader;
    importare Giava.io.Eccezione di codifica non supportata;
    
    importare org.apache.http.Httpentity;
    importare org.apache.http.Http: //presponse;
    importare org.apache.http.cliente.Clientprotocolexception;
    importare org.apache.http.cliente.metodi.Httpget;
    importare org.apache.http.impl.cliente.Defaulthttpclient;
    importare org.json.Jsonexception;
    importare org.json.jsonobject;
    
    importare androide.util.Ceppo;
    
    Pubblico Classe Jsonparser {
    
        finale Corda TAG = "jsonparser.java";
    
        statico Inputstream is = nullo;
        statico jsonobject jObj = nullo;
        statico Corda json = "";
    
        Pubblico jsonobject getjsonfromurl(Corda url) {
    
            PROVARE {
    
                Defaulthttpclient httpClient = Nuovo Defaulthttpclient();
                Httpget httpGet = Nuovo Httpget(url);
    
                Http: //presponse httpResponse = httpClient.eseguire(httpGet);
                Httpentity httpEntity = httpResponse.getentity();
                is = httpEntity.getcontent();
    
            } Catturare (Eccezione di codifica non supportata e) {
                e.printstacktrace();
            } Catturare (Clientprotocolexception e) {
                e.printstacktrace();
            } Catturare (Ioexception e) {
                e.printstacktrace();
            }
    
            PROVARE {
    
                Bufferedreader reader = Nuovo Bufferedreader(Nuovo Inputstreamreader(is, "iso- 8859-1"), 8);
                Stringbuilder sb = Nuovo Stringbuilder();
                Corda line = nullo;
                mentre ((line = reader.linea di lettura()) != nullo) {
                    sb.aggiungere(line + "
");
                }
                is.vicino();
                json = sb.toString();
    
            } Catturare (Eccezione e) {
                Ceppo.e(TAG, "Errore durante la conversione del risultato" + e.toString());
            }
    
            PROVARE {
                jObj = Nuovo jsonobject(json);
            } Catturare (Jsonexception e) {
                Ceppo.e(TAG, "Errore durante l'analisi dei dati" + e.toString());
            }
    
            Ritorno jObj;
        }
    }
    

Risposta dell'endpoint

Risposta riuscita

      
    {
      "indirizzo":"flowerjill@aol.com",
      "stato":"valido",
      "sub_status":"",         
      "account":"flowerjill",
      "dominio":"aol.com",
      "monouso":Falso,
      "tossico":Falso,
      "nome di battesimo":"jill",
      "cognome":"boccale",
      "genere":"femmina",
      "posizione":nullo,
      "data di creazione":nullo,
      "elaborato":"2017-04-01 02:48:02.592"
     }
    

Risposta di successo con IP

      
    {
      "indirizzo":"flowerjill@aol.com",
      "stato":"valido",
      "sub_status":"", 
      "account":"flowerjill",
      "dominio":"aol.com",
      "monouso":Falso,
      "tossico":Falso,
      "nome di battesimo":"jill",
      "cognome":"boccale",
      "genere":"femmina",
      "posizione":nullo,
      "nazione":"Stati Uniti",
      "regione":"Florida",
      "città":"west palm beach",
      "cap":"33401",
      "data di creazione":nullo,
      "elaborato":"2017-04-01 02:48:02.592"
      }
    

Risposta all'errore

      
    {"errore":"Chiave API non valida o il tuo account ha esaurito i crediti"}