Οδηγός εμπλουτισμού δεδομένων email

Ανάγνωση σε Markdown

Εξαγωγή ονόματος και ένδειξης φύλου από διεύθυνση email

Εξαγάγετε ένα υποψήφιο όνομα από μια διεύθυνση email και συμπληρώστε τη ροή σας στο Excel, στο Google Sheets ή στο API με την πρόβλεψη και τα σχετικά πεδία προέλευσης, χωρίς να αντικαθιστάτε τα στοιχεία που έχει δώσει το ίδιο το άτομο.

Ροή εμπλουτισμού δεδομένων email

Μετατρέψτε τις διευθύνσεις email σε δομημένα δεδομένα

Στείλτε μια υποστηριζόμενη διεύθυνση και εξετάστε τι επιστρέφει το GenderAPI: υποψήφιο όνομα, ένδειξη φύλου, πλαίσιο χώρας και βαθμό βεβαιότητας.

  • Υποψήφιο όνομα
  • Ένδειξη φύλου
  • Πλαίσιο χώρας
  • Βαθμός βεβαιότητας
Τεκμηρίωση του API για διευθύνσεις email
Ροή του GenderAPI που μετατρέπει μια διεύθυνση email σε δομημένα δεδομένα πελάτη
Μια διεύθυνση email μπορεί να δώσει ένα υποψήφιο όνομα και μια πρόβλεψη. Ορισμένα πεδία μπορεί να παραμείνουν null.

Δοκιμάστε το API V2

Ανάλυση διεύθυνσης email

Σύνολο δεδομένων + AI

Στείλτε μια τιμή και δείτε ολόκληρη την απόκριση, μαζί με τα άγνωστα αποτελέσματα και τις πιστώσεις που χρησιμοποιήθηκαν.

Πάντα AI (προεπιλογή): 2 πιστώσεις, ακόμη και όταν το αποτέλεσμα είναι άγνωστο. Εφεδρική: 1 πίστωση, μαζί με την εφεδρική χρήση AI και τα άγνωστα αποτελέσματα. Ανενεργή, μόνο σύνολο δεδομένων (χωρίς AI): 1 πίστωση ανά ολοκληρωμένο αίτημα, ακόμη και όταν το αποτέλεσμα είναι άγνωστο. Με ανάλυση ψευδωνύμων: 1 πίστωση αν το αποτέλεσμα προέρχεται από το σύνολο δεδομένων ή 2 συνολικά αν χρησιμοποιηθεί AI, ακόμη και όταν το αποτέλεσμα είναι άγνωστο.

Η τιμή που στέλνετε (ολόκληρη η διεύθυνση email) διαβιβάζεται στο GenderAPI.io και προωθείται στη ρυθμισμένη υπηρεσία AI στη λειτουργία Πάντα AI (προεπιλογή) ή όταν χρειάζεται η εφεδρική χρήση AI, όχι όμως στη λειτουργία Ανενεργή. Περισσότερα για την επεξεργασία των δεδομένων.

Δεν έχει αποθηκευτεί κλειδί API. Μπορείτε να χρησιμοποιήσετε την κοινόχρηστη δοκιμαστική πρόσβαση IP όσο διαθέτει πιστώσεις.

Η παρακάτω απόκριση είναι πραγματική και καταγράφηκε την 1η Οκτωβρίου 2026. Πατήστε Ανάλυση για να στείλετε ένα αίτημα.

Πραγματική απόκριση V2 · καταγράφηκε την 1η Οκτωβρίου 2026
ΌνομαGiorgos
ΦύλοΆνδρας
Βεβαιότητα98%
ΧώραΕλλάδα (GR)
ΠηγήΜοντέλο AI
Πιστώσεις που χρησιμοποιήθηκαν2

Αυτή η πραγματική απόκριση καταγράφηκε την 1η Οκτωβρίου 2026. Αντικαταστάθηκε μόνο το υπόλοιπο του λογαριασμού. Οι τιμές σε πραγματικό χρόνο μπορεί να διαφέρουν. Μια πρόβλεψη δεν είναι επιβεβαιωμένη ταυτότητα.

Επιλογές ενσωμάτωσης

Επιλέξτε πού θα επεξεργαστείτε τα δεδομένα email

Microsoft ExcelΕγκατάσταση του πρόσθετου →Google SheetsΆνοιγμα του Marketplace →ShopifyΠροβολή της εφαρμογής →Excel / CSV σε παρτίδεςΆνοιγμα του εργαλείου →AirtableΠροβολή της επέκτασης →REST APIΠροβολή του endpoint →

Microsoft Excel

Επεξεργαστείτε στήλες διευθύνσεων με το πρόσθετο για Excel

Επιλέξτε τη μέθοδο για διευθύνσεις email και έπειτα συνδέστε τη στήλη προέλευσης και τα πεδία των αποτελεσμάτων. Χρησιμοποιήστε το GENDER.FROM_EMAIL για δυναμικές αναζητήσεις σε κελιά ή το πλαϊνό πλαίσιο για μόνιμα αποτελέσματα.

Εκπαιδευτικό βίντεο για την εξαγωγή ονομάτων από διευθύνσεις email στο ExcelΔείτε το εκπαιδευτικό βίντεο για το ExcelYouTube · Ανοίγει σε νέα καρτέλα

Google Sheets

Αναλύστε διευθύνσεις email με το πρόσθετο ή με τύπο

Χρησιμοποιήστε το πρόσθετο για τις υπάρχουσες γραμμές, μια υποστηριζόμενη ροή για τις νέες γραμμές ή τον τύπο GENDER για αναζητήσεις σε μεμονωμένα κελιά.

REST API

Ενσωματώστε την ανάλυση διευθύνσεων email στο backend σας

Καλέστε το endpoint με έλεγχο ταυτότητας για διευθύνσεις email από τον διακομιστή, χωρίς να εκθέτετε το κλειδί API στο πρόγραμμα περιήγησης ή σε δημόσιο κώδικα. Διαχειριστείτε ρητά το σχήμα της απόκρισης, τους κωδικούς σφάλματος και την κατανάλωση πιστώσεων.

Παράδειγμα πεδίων ονόματος και φύλου που εξήχθησαν από διεύθυνση email
Στιγμιότυπο αποτελεσμάτων από παλαιότερη ενσωμάτωση. Δεν δείχνει την τρέχουσα σύμβαση απόκρισης της V2.

Ακρίβεια και υπεύθυνη χρήση

Μην επιβάλλετε αποτέλεσμα όταν η διεύθυνση δεν περιέχει όνομα

Λειτουργικές διευθύνσεις, τυχαία αναγνωριστικά και κοινόχρηστα γραμματοκιβώτια μπορεί να μη δίνουν αξιόπιστη ένδειξη. Διατηρήστε τα data.result_status, data.reason και data.confidence και διαχειριστείτε χωριστά τα αβέβαια αποτελέσματα.

Οδηγός υλοποίησης V2

Αποθηκεύστε χωριστά τα αρχικά δεδομένα και την πρόβλεψη

Διατηρήστε το αρχικό αναγνωριστικό της εγγραφής. Το API δεν ανοίγει κανένα προφίλ, δεν επαληθεύει ποιος είναι ο κάτοχος ενός λογαριασμού και δεν επιβεβαιώνει καμία ταυτότητα. Στείλτε πλαίσιο χώρας μόνο όταν διαθέτετε αξιόπιστο στοιχείο. Μην το συμπεραίνετε από το domain ή από τη γλώσσα του ιστότοπου.

ΕγγραφήΠεδίοΕρμηνεία
Αρχική εγγραφήcontact_id / original_emailΔιατηρήστε τα αρχικά δεδομένα στο δικό σας σύστημα και μην αντικαθιστάτε με την πρόβλεψη ένα όνομα που έχει δηλώσει το ίδιο το άτομο. Αυτά δεν είναι πεδία της απόκρισης του API.
Υποψήφιο όνομαdata.name / data.matchΤο όνομα που επιλέχθηκε μπορεί να είναι null. Δεν υπάρχει πεδίο για επαληθευμένο επώνυμο και μια αντιστοίχιση δεν αποδεικνύει ποιος είναι ο κάτοχος του γραμματοκιβωτίου.
Πρόβλεψηdata.gender / data.result_status / data.reasonΑποθηκεύστε ένα άγνωστο αποτέλεσμα ως εγγενή τιμή JSON null. Μια ισόπαλη εγγραφή του συνόλου δεδομένων μπορεί να περιέχει υποψήφιο όνομα χωρίς φύλο.
Τεκμήριαdata.source / data.confidence_kind / data.confidence / data.sample_countΤο confidence κυμαίνεται από 0 έως 1. Η συχνότητα στο σύνολο δεδομένων και μια βαθμολογία του AI είναι διαφορετικά μέτρα. Για το AI το sample_count είναι null.
Καταγραφή λειτουργίαςmeta.request_id / meta.usageΔιατηρήστε το id και την κατάσταση χρέωσης. Μια απόκριση που χάθηκε δεν σημαίνει ούτε ότι η λειτουργία ήταν δωρεάν ούτε ότι απέτυχε.

Η αναζήτηση στο σύνολο δεδομένων αναλύει το τμήμα πριν από το @, αφαιρεί ένα επίθεμα που ξεκινά με + και αξιολογεί τα υποψήφια ονόματα. Ένα κανονικό αίτημα μπορεί επιπλέον να προσθέσει περιορισμένο αριθμό υποψηφίων βάσει προθέματος και επιθέματος στα σύνθετα τμήματα. Αν ταιριάζουν περισσότερες εγγραφές, επιλέγεται εκείνη με τον μεγαλύτερο αριθμό καταγεγραμμένων εμφανίσεων. Ο υποψήφιος αυτός δεν είναι απαραίτητα το πραγματικό όνομα του ατόμου. Αν στείλετε χώρα, για κάθε υποψήφιο προτιμάται η εγγραφή της χώρας. Αν δεν υπάρχει, μπορεί να χρησιμοποιηθεί μια παγκόσμια εγγραφή. Ελέγξτε τα data.match.scope και country_source.

Επιλέξτε τον τρόπο επεξεργασίας και το κόστος σε πιστώσεις

ΕπιλογήΕπεξεργασίαΚόστος ανά επιτυχές στοιχείο
options.ai_mode: offΜόνο το σύνολο δεδομένων1 πίστωση
options.ai_mode: fallbackΠρώτα το σύνολο δεδομένων και, αν δεν προσδιοριστεί φύλο, κανονική εφεδρική χρήση AI1 πίστωση συνολικά, μαζί με το AI
options.ai_mode: alwaysΑπευθείας στο AI2 πιστώσεις
forceToGenderize: trueΠρώτα το σύνολο δεδομένων και έπειτα ερμηνεία του ψευδωνύμου χωρίς να απαιτείται πραγματικό όνομα1 αν αρκεί το σύνολο δεδομένων, 2 συνολικά αν χρησιμοποιηθεί AI

Για ένα μεμονωμένο αίτημα η προεπιλογή είναι fallback, ενώ για τα στοιχεία μιας παρτίδας είναι off. Το forceToGenderize είναι προαιρετικό για ονόματα, διευθύνσεις email και ονόματα χρήστη. Σε αυτή την περίπτωση παραλείψτε το ai_mode ή χρησιμοποιήστε fallback, επειδή η επιλογή δεν συνδυάζεται με τα off και always. Χρεώνονται και τα επιτυχή αποτελέσματα unknown. Για να ξεκινήσει ένα αίτημα αρκεί θετικό αρχικό υπόλοιπο. Μετά την ολοκλήρωση της λειτουργίας το υπόλοιπο μπορεί να γίνει αρνητικό.

Όταν χρησιμοποιείται, το AI λαμβάνει ολόκληρη τη διεύθυνση που στάλθηκε, μαζί με το domain και το επίθεμα +, ακόμη κι αν του ζητείται να αγνοήσει αυτά τα τμήματα. Το forceToGenderize μπορεί να δώσει συσχέτιση με φύλο χωρίς να βρεθεί πραγματικό όνομα. Αυτό δεν σημαίνει ότι στο CRM σας εξήχθη επαληθευμένο όνομα.

Δοκιμάστε πρώτα ένα αίτημα email μόνο με το σύνολο δεδομένων

Οι ενδεικτικές είσοδοι δεν εγγυώνται μια συγκεκριμένη πρόβλεψη. Ορίστε το GENDERAPI_API_KEY στο περιβάλλον του διακομιστή και μην τοποθετείτε το κλειδί σε δημόσιο κώδικα στην πλευρά του πελάτη. Οι V1 και V2 χρησιμοποιούν το ίδιο κλειδί λογαριασμού και το ίδιο υπόλοιπο. Επαληθεύστε το κλειδί με το /api/v2/usage και ελέγξτε ότι το meta.access.mode έχει την τιμή api_key.

Επιλέξτε γλώσσα προγραμματισμού. Ρυθμίστε το κλειδί API σας, και έπειτα εκτελέστε το παράδειγμα στον διακομιστή σας.

Κάθε αίτημα πρόβλεψης είναι μια νέα χρεώσιμη λειτουργία, ακόμη και όταν πρόκειται για νέα προσπάθεια. Αυτά τα παραδείγματα δεν επαναλαμβάνουν αυτόματα το αίτημα. Ελέγξτε την κατάσταση χρέωσης πριν στείλετε άλλο αίτημα.

Πριν από την εκτέλεση: πρόσβαση και χειρισμός σφαλμάτων

Εκτελέστε αυτά τα παραδείγματα στον διακομιστή σας. Ορίστε στο περιβάλλον της διεργασίας το GENDERAPI_API_KEY με το υπάρχον κλειδί API σας. Ελέγξτε ότι το meta.access.mode έχει την τιμή api_key, επειδή ένα κλειδί που δεν αναγνωρίζεται μπορεί να οδηγήσει στη δοκιμαστική πρόσβαση IP.

Στις αποκρίσεις JSON με HTTP 4xx και 5xx διατηρείται το σώμα του σφάλματος και το παράδειγμα τερματίζει με μη μηδενικό κωδικό εξόδου. Ελέγξτε τα code, action και meta.usage.billing_status πριν δοκιμάσετε ξανά.

Οδηγός για σφάλματα και νέες προσπάθειες →
cURL
curl --silent --show-error --fail-with-body --max-time 30 \
  --request POST 'https://api.genderapi.io/api/v2/gender' \
  --header "Authorization: Bearer ${GENDERAPI_API_KEY:?Set GENDERAPI_API_KEY}" \
  --header 'Content-Type: application/json' \
  --data '{
  "type": "email",
  "value": "alice.smith@example.com",
  "options": {
    "ai_mode": "off"
  }
}'

cURL 7.76+ σε κέλυφος POSIX. Εκτελέστε το στο τερματικό. Τεκμηρίωση του περιβάλλοντος εκτέλεσης

JavaScript / Node.js
// Server-side Node.js. Save as example.mjs.
const apiKey = process.env.GENDERAPI_API_KEY;
if (!apiKey) throw new Error("Set GENDERAPI_API_KEY");
const body = {
  "type": "email",
  "value": "alice.smith@example.com",
  "options": {
    "ai_mode": "off"
  }
};

const response = await fetch("https://api.genderapi.io/api/v2/gender", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify(body),
  signal: AbortSignal.timeout(30_000),
  redirect: "error",
});
const raw = await response.text();
if (!(response.headers.get("content-type") ?? "").includes("json")) {
  throw new Error(`HTTP ${response.status}: expected JSON; request ID ${response.headers.get("x-request-id")}`);
}
const result = JSON.parse(raw); // Also accepts application/problem+json.
if (!response.ok) {
  console.error(`HTTP ${response.status}`, result);
  process.exitCode = 1; // A retry is a new operation; inspect billing first.
} else {
  console.log(JSON.stringify(result, null, 2));
  // For batches, inspect every item: HTTP 200 may contain item errors.
}

Node.js 22+ με ενσωματωμένο fetch. Αποθηκεύστε ως example.mjs και εκτελέστε node example.mjs. Τεκμηρίωση του περιβάλλοντος εκτέλεσης

Python
import json
import os
import sys
import urllib.error
import urllib.request

api_key = os.environ.get("GENDERAPI_API_KEY")
if not api_key:
    raise RuntimeError("Set GENDERAPI_API_KEY")
body = json.loads("{\"type\":\"email\",\"value\":\"alice.smith@example.com\",\"options\":{\"ai_mode\":\"off\"}}")

class NoRedirect(urllib.request.HTTPRedirectHandler):
    def redirect_request(self, req, fp, code, msg, headers, newurl):
        return None

request = urllib.request.Request(
    "https://api.genderapi.io/api/v2/gender",
    method="POST",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": "Bearer " + api_key,
        "Content-Type": "application/json",
    },
)
opener = urllib.request.build_opener(NoRedirect())
try:
    response = opener.open(request, timeout=30)
except urllib.error.HTTPError as error:
    response = error  # Keep the Problem Details body on non-2xx responses.
with response:
    status = response.status
    raw = response.read().decode("utf-8")
    if "json" not in response.headers.get("Content-Type", ""):
        raise RuntimeError(f"HTTP {status}: expected a JSON response")
    result = json.loads(raw)
print(json.dumps(result, indent=2), file=sys.stderr if status >= 300 else sys.stdout)
if not 200 <= status < 300:
    sys.exit(1)  # Inspect code, action and billing before retrying.
# For batches, inspect every item even when HTTP status is 200.

Python 3.10+ με την τυπική βιβλιοθήκη. Αποθηκεύστε ως example.py και εκτελέστε python3 example.py. Τεκμηρίωση του περιβάλλοντος εκτέλεσης

PHP
<?php
$apiKey = getenv('GENDERAPI_API_KEY');
if (!$apiKey) {
    throw new RuntimeException('Set GENDERAPI_API_KEY');
}
$body = json_decode('{"type":"email","value":"alice.smith@example.com","options":{"ai_mode":"off"}}', true, 512, JSON_THROW_ON_ERROR);

$ch = curl_init('https://api.genderapi.io/api/v2/gender');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_FOLLOWLOCATION => false,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $apiKey,
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode($body, JSON_THROW_ON_ERROR),
]);
$raw = curl_exec($ch);
if ($raw === false) {
    throw new RuntimeException(curl_error($ch));
}
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$contentType = curl_getinfo($ch, CURLINFO_CONTENT_TYPE) ?: '';
curl_close($ch);
if (strpos($contentType, 'json') === false) {
    throw new RuntimeException("HTTP $status: expected a JSON response");
}
$result = json_decode($raw, true, 512, JSON_THROW_ON_ERROR);
$output = json_encode($result, JSON_PRETTY_PRINT | JSON_THROW_ON_ERROR) . PHP_EOL;
if ($status < 200 || $status >= 300) {
    fwrite(STDERR, $output); // Preserve the Problem Details body.
    exit(1);
}
echo $output;
// For batches, inspect every item; HTTP 200 can contain item errors.

PHP 8+ με την επέκταση cURL. Αποθηκεύστε ως example.php και εκτελέστε php example.php. Τεκμηρίωση του περιβάλλοντος εκτέλεσης

Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.time.Duration;

public class GenderApiExample {
    private static String requiredEnv(String name) {
        String value = System.getenv(name);
        if (value == null || value.isBlank()) throw new IllegalStateException("Set " + name);
        return value;
    }

    public static void main(String[] args) throws Exception {
        String apiKey = requiredEnv("GENDERAPI_API_KEY");
        String body = "{\"type\":\"email\",\"value\":\"alice.smith@example.com\",\"options\":{\"ai_mode\":\"off\"}}";
        HttpClient client = HttpClient.newBuilder()
            .connectTimeout(Duration.ofSeconds(10))
            .followRedirects(HttpClient.Redirect.NEVER)
            .build();
        HttpRequest request = HttpRequest.newBuilder(URI.create("https://api.genderapi.io/api/v2/gender"))
            .timeout(Duration.ofSeconds(30))
            .header("Authorization", "Bearer " + apiKey)
            .header("Content-Type", "application/json")
            .POST(HttpRequest.BodyPublishers.ofString(body, StandardCharsets.UTF_8))
            .build();
        HttpResponse<String> response = client.send(request,
            HttpResponse.BodyHandlers.ofString(StandardCharsets.UTF_8));
        if (!response.headers().firstValue("content-type").orElse("").contains("json")) {
            throw new IllegalStateException("HTTP " + response.statusCode() + ": expected JSON");
        }
        // JSON text; parse with your application's JSON library when integrating.
        if (response.statusCode() < 200 || response.statusCode() >= 300) {
            System.err.println(response.body()); // Includes Problem Details.
            System.exit(1);
        }
        System.out.println(response.body());
        // For batches, inspect each item's data or error, including on HTTP 200.
    }
}

Java 17+ με τον τυπικό πελάτη HTTP. Αποθηκεύστε ως GenderApiExample.java και εκτελέστε java GenderApiExample.java. Τεκμηρίωση του περιβάλλοντος εκτέλεσης

C# / .NET
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Text.Json;

string RequiredEnv(string name) =>
    !string.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable(name))
        ? Environment.GetEnvironmentVariable(name)!
        : throw new InvalidOperationException($"Set {name}");

var apiKey = RequiredEnv("GENDERAPI_API_KEY");
using var handler = new HttpClientHandler { AllowAutoRedirect = false };
using var client = new HttpClient(handler) { Timeout = TimeSpan.FromSeconds(30) };
using var request = new HttpRequestMessage(HttpMethod.Post, "https://api.genderapi.io/api/v2/gender");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
request.Content = new StringContent("{\"type\":\"email\",\"value\":\"alice.smith@example.com\",\"options\":{\"ai_mode\":\"off\"}}", Encoding.UTF8, "application/json");

using var response = await client.SendAsync(request);
var raw = await response.Content.ReadAsStringAsync();
if (!(response.Content.Headers.ContentType?.MediaType?.Contains("json") ?? false))
    throw new InvalidOperationException($"HTTP {(int)response.StatusCode}: expected JSON");
using var result = JsonDocument.Parse(raw);
if (!response.IsSuccessStatusCode)
{
    Console.Error.WriteLine(result.RootElement); // Preserve Problem Details.
    Environment.ExitCode = 1;
}
else
{
    Console.WriteLine(result.RootElement);
    // For batches, inspect every item even on HTTP 200.
}

Εφαρμογή κονσόλας .NET 8+. Χρησιμοποιήστε το ως Program.cs σε ένα έργο κονσόλας και έπειτα εκτελέστε dotnet run. Τεκμηρίωση του περιβάλλοντος εκτέλεσης

Go
package main

import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
    "os"
    "strings"
    "time"
)

func requiredEnv(name string) string {
    value := os.Getenv(name)
    if value == "" { panic("Set " + name) }
    return value
}

func run() error {
    apiKey := requiredEnv("GENDERAPI_API_KEY")
    body := "{\"type\":\"email\",\"value\":\"alice.smith@example.com\",\"options\":{\"ai_mode\":\"off\"}}"
    request, err := http.NewRequest("POST", "https://api.genderapi.io/api/v2/gender", strings.NewReader(body))
    if err != nil { return err }
    request.Header.Set("Authorization", "Bearer " + apiKey)
    request.Header.Set("Content-Type", "application/json")
    client := &http.Client{
        Timeout: 30 * time.Second,
        CheckRedirect: func(req *http.Request, via []*http.Request) error {
            return http.ErrUseLastResponse
        },
    }
    response, err := client.Do(request)
    if err != nil { return err }
    defer response.Body.Close()
    raw, err := io.ReadAll(response.Body)
    if err != nil { return err }
    if !strings.Contains(response.Header.Get("Content-Type"), "json") || !json.Valid(raw) {
        return fmt.Errorf("HTTP %d: expected a JSON response", response.StatusCode)
    }
    if response.StatusCode < 200 || response.StatusCode >= 300 {
        return fmt.Errorf("HTTP %d: %s", response.StatusCode, raw)
    }
    fmt.Println(string(raw))
    // For batches, inspect every item even on HTTP 200.
    return nil
}

func main() {
    if err := run(); err != nil {
        fmt.Fprintln(os.Stderr, err) // Keep Problem Details for error handling.
        os.Exit(1)
    }
}

Go 1.22+ με την τυπική βιβλιοθήκη. Αποθηκεύστε ως main.go και εκτελέστε go run main.go. Τεκμηρίωση του περιβάλλοντος εκτέλεσης

Διαχειριστείτε τα αποτελέσματα λιστών και τα επαναλαμβανόμενα αιτήματα

Το POST /api/v2/gender/batch δέχεται έως 50 στοιχεία με κλειδί API και 10 με τη δοκιμαστική πρόσβαση IP. Ορίστε για κάθε στοιχείο δικές του τιμές type, value και options. Αν θέλετε να χρησιμοποιήσετε την κανονική εφεδρική χρήση AI, δηλώστε ρητά fallback σε κάθε στοιχείο. Το id πρέπει να είναι μοναδικό μέσα στην παρτίδα. Το index ξεκινά από το μηδέν μέσα στην παρτίδα που στάλθηκε. Αποθηκεύστε χωριστά τα δικά σας αναγνωριστικά εργασίας και γραμμής προέλευσης.

Το HTTP 200 δεν σημαίνει ότι όλα τα στοιχεία ήταν επιτυχή. Διαχειριστείτε χωριστά τα αποτελέσματα identified, unknown και error. Το meta.summary.succeeded μετρά τόσο τα identified όσο και τα unknown. Αξιολογήστε μαζί τα data.gender, source, confidence_kind, confidence, match και reason. Μην αντιμετωπίζετε ως ισοδύναμα μια βαθμολογία του AI και μια συχνότητα στο σύνολο δεδομένων.

Αν το meta.usage.billing_status έχει την τιμή confirmed, επαναλάβετε μόνο τα λειτουργικά σφάλματα που επιτρέπουν νέο αίτημα. Αν η κατάσταση είναι unconfirmed ή η απόκριση χάθηκε, σταματήστε και ελέγξτε τη χρέωση. Η εκ νέου αποστολή του ίδιου στοιχείου, ακόμη και ενός επιτυχούς αποτελέσματος unknown, δημιουργεί νέα χρεώσιμη λειτουργία. Μην ξαναστέλνετε ποτέ ολόκληρη τη λίστα χωρίς έλεγχο.

Σύμβαση αιτημάτων παρτίδας · Πεδία απόκρισης · Επιλογές AI · Αξιολόγηση ακρίβειας και βαθμού βεβαιότητας · Πολιτική απορρήτου

Τα πρόσθετα για Excel και Google Sheets και οι άλλες έτοιμες ενσωματώσεις μπορεί να χρησιμοποιούν δική τους σύνδεση και δική τους μορφή αποτελεσμάτων. Μην υποθέτετε ότι η έξοδός τους ακολουθεί αυτό το σχήμα JSON της V2. Συμβουλευτείτε τον ενημερωμένο οδηγό της αντίστοιχης ενσωμάτωσης.

Συχνές ερωτήσεις

Όνομα και φύλο από διευθύνσεις email

Μπορεί να εξαχθεί όνομα από μια διεύθυνση email;

Το GenderAPI μπορεί να εξαγάγει ένα υποψήφιο όνομα από το τμήμα πριν από το @ στις υποστηριζόμενες προσωπικές διευθύνσεις και, όταν είναι διαθέσιμες, να επιστρέψει ενδείξεις για το φύλο, τη χώρα και τον βαθμό βεβαιότητας. Ο υποψήφιος είναι συμπέρασμα και όχι επαληθευμένο όνομα του κατόχου του γραμματοκιβωτίου.

Επιστρέφει όνομα κάθε διεύθυνση;

Όχι. Λειτουργικές διευθύνσεις, τυχαία αναγνωριστικά και τοπικά τμήματα χωρίς πραγματικό όνομα μπορεί να μη δίνουν αξιόπιστη ένδειξη. Ελέγξτε τα data.result_status, data.reason, data.confidence και data.confidence_kind στην απόκριση της V2.

Αποθηκεύονται τα αιτήματα email;

Σύμφωνα με τη δημοσιευμένη πολιτική, τα αιτήματα email δεν διατηρούνται ως επαναχρησιμοποιήσιμες εγγραφές αιτημάτων. Για τα χωριστά τεχνικά αρχεία καταγραφής και τα αρχεία ασφαλείας ισχύουν οι περίοδοι που αναφέρονται στην πολιτική απορρήτου. Μη χρησιμοποιείτε ευαίσθητα προσωπικά δεδομένα στη δημόσια επίδειξη.

Μπορώ να χρησιμοποιήσω τη λειτουργία στο Excel και στο Google Sheets;

Ναι. Οι στήλες διευθύνσεων μπορούν να επεξεργαστούν με το πρόσθετο για Excel, με το πρόσθετο για Google Sheets ή με το εργαλείο εισαγωγής αρχείων Excel και CSV. Αυτές οι ενσωματώσεις έχουν δική τους μορφή αποτελεσμάτων, διαφορετική από το JSON της V2.

Ποια πεδία επιστρέφει το API;

Η V2 επιστρέφει τα data.name, data.gender, data.match και τα πεδία προέλευσης και βαθμού βεβαιότητας, ενώ στο meta επιστρέφει επίσης το id της λειτουργίας και την κατανάλωση πιστώσεων. Το υποψήφιο όνομα ή το φύλο μπορεί να είναι null. Δεν υπάρχει πεδίο για επαληθευμένο επώνυμο.

Πότε χρησιμοποιείται AI;

Σε ένα μεμονωμένο αίτημα της V2 η κανονική εφεδρική χρήση AI είναι ενεργή από προεπιλογή. Σε αυτή την επίδειξη μπορείτε να χρησιμοποιήσετε κανονικό αίτημα ή forceToGenderize. Τα off και always ορίζονται στο αίτημα API. Η κανονική εφεδρική χρήση AI κοστίζει 1 πίστωση συνολικά και το always 2. Με το forceToGenderize χρεώνεται 1 πίστωση αν το σύνολο δεδομένων επιλύσει το αίτημα ή 2 συνολικά αν χρησιμοποιηθεί AI. Το αποτέλεσμα μπορεί να παραμείνει unknown.

Μπορώ να δοκιμάσω την υπηρεσία δωρεάν;

Οι λογαριασμοί περιλαμβάνουν 200 δωρεάν πιστώσεις την ημέρα και η κοινόχρηστη δοκιμαστική πρόσβαση IP προσφέρει 10 πιστώσεις ανά δημόσια διεύθυνση IP μέσα σε 24 ώρες. Ένα κλειδί που λείπει ή δεν αναγνωρίζεται μπορεί να οδηγήσει στη δοκιμαστική πρόσβαση IP. Ελέγξτε το πεδίο meta.access.mode στην απόκριση. Πρόκειται για πιστώσεις και όχι για αριθμό αιτημάτων.

Δημοσίευση: 14 Ιουνίου 2025Τελευταίος έλεγχος:

Ρυθμίστε τη ροή API

Δοκιμάστε την ανάλυση διευθύνσεων email στο backend σας

Χρησιμοποιήστε το endpoint με έλεγχο ταυτότητας για διευθύνσεις email και κρατήστε το κλειδί API αποκλειστικά στην πλευρά του διακομιστή.

Τεκμηρίωση του API για διευθύνσεις email

Συνέχεια δοκιμών

Χρησιμοποιήστε το κλειδί GenderAPI

Επικολλήστε το κλειδί API από τον λογαριασμό σας στο GenderAPI για να συνεχίσετε τις δοκιμές όταν εξαντληθούν οι κοινόχρηστες πιστώσεις της δοκιμαστικής πρόσβασης IP 24 ωρών. Η αποθήκευση του κλειδιού δεν στέλνει αίτημα. Στείλτε ξανά το αίτημα όταν είστε έτοιμοι.

Αποθηκεύεται μόνο σε αυτή την καρτέλα και διαγράφεται όταν την κλείσετε.