دليل إثراء بيانات البريد الإلكتروني

اقرأ بتنسيق Markdown

استخراج الاسم الأول وإشارة الجنس من البريد الإلكتروني

استخرج اسمًا أول محتملًا من عنوان البريد الإلكتروني، وأضف التقدير المرتبط به وحقول المصدر إلى سير عملك في Excel أو Google Sheets أو API، دون تغيير المعلومات التي قدّمها الشخص.

سير عمل إثراء بيانات البريد الإلكتروني

حوّل عناوين البريد الإلكتروني إلى بيانات منظمة

أرسل عنوان بريد إلكتروني مدعومًا واطّلع على ما يعيده GenderAPI: الاسم الأول المحتمل وإشارة الجنس وسياق البلد ودرجة الثقة.

  • الاسم الأول المحتمل
  • إشارة الجنس
  • سياق البلد
  • درجة الثقة
توثيق API لعناوين البريد الإلكتروني
سير عمل GenderAPI لتحويل عنوان البريد الإلكتروني إلى بيانات عميل منظمة
قد يُستخرج من عنوان بريد إلكتروني واحد اسم أول محتمل وتقدير، وقد تبقى بعض الحقول null.

جرّب V2 API

تحليل عنوان بريد إلكتروني

مجموعة البيانات + الذكاء الاصطناعي

أرسل قيمة واطّلع على الاستجابة كاملة، بما في ذلك النتائج غير المعروفة والأرصدة المخصومة.

الذكاء الاصطناعي دائمًا (الافتراضي): رصيدان، حتى مع نتيجة غير معروفة. الوضع الاحتياطي: رصيد واحد، بما في ذلك الرجوع إلى الذكاء الاصطناعي والنتائج غير المعروفة. متوقف، مجموعة البيانات فقط (دون ذكاء اصطناعي): رصيد واحد لكل طلب مكتمل، حتى مع نتيجة غير معروفة. عند تفعيل تفسير الاسم المستعار: رصيد واحد إذا وُجدت النتيجة في مجموعة البيانات، ورصيدان إجمالًا إذا استُخدم الذكاء الاصطناعي، حتى مع نتيجة غير معروفة.

تُرسَل القيمة (عنوان البريد الإلكتروني كاملًا) إلى GenderAPI.io، وتُرسَل أيضًا إلى خدمة الذكاء الاصطناعي المهيأة في وضع «الذكاء الاصطناعي دائمًا» (الافتراضي) أو عند الحاجة إلى الرجوع إلى الذكاء الاصطناعي، ولا تُرسَل إليها في وضع «متوقف». تعرّف على كيفية التعامل مع البيانات.

لا يوجد مفتاح API محفوظ. التجربة المشتركة حسب عنوان IP متاحة في حدود أرصدتها المتبقية.

الاستجابة أدناه استجابة حقيقية التُقطت في 1 أكتوبر 2026. اختر «تحليل» لإرسال الطلب.

استجابة V2 حقيقية · التُقطت في 1 أكتوبر 2026
الاسمAhmed
الجنسذكر
درجة الثقة98‎%‎
الدولةالمملكة العربية السعودية (SA)
المصدرنموذج ذكاء اصطناعي
الأرصدة المستخدمة2

التُقطت هذه الاستجابة الحقيقية في 1 أكتوبر 2026، ولم يُستبدل منها سوى رصيد الحساب. وقد تختلف القيم في الطلبات المباشرة. التقدير ليس هوية مؤكَّدة.

طرق التكامل

اختر أين تعالج بيانات البريد الإلكتروني

Microsoft Excelثبّت الإضافة ←Google Sheetsافتح Marketplace ←Shopifyاعرض التطبيق ←المعالجة المجمّعة لملفات Excel وCSVافتح أداة الملفات ←Airtableاعرض الامتداد ←REST APIاعرض نقطة النهاية ←

Microsoft Excel

عالج عمود عناوين البريد الإلكتروني بإضافة Excel

اختر طريقة معالجة عناوين البريد الإلكتروني، ثم عيّن عمود المصدر وحقول النتائج. استخدم GENDER.FROM_EMAIL للاستعلامات الديناميكية في الخلايا، والشريط الجانبي للنتائج الثابتة.

فيديو تعليمي لاستخراج الاسم الأول من عنوان البريد الإلكتروني في Excelشاهد الفيديو التعليمي لـ ExcelYouTube · يُفتح في علامة تبويب جديدة

Google Sheets

حلّل عناوين البريد الإلكتروني بالإضافة أو بالدالة

استخدم الإضافة للصفوف الموجودة، وسير عمل متوافقًا للصفوف الجديدة، ودالة GENDER للاستعلام من خلية واحدة.

REST API

أضف تحليل عناوين البريد الإلكتروني إلى الخادم لديك

استدعِ نقطة نهاية البريد الإلكتروني الموثّقة من الخادم، ولا تضع مفتاح API في المتصفح أو في شفرة عامة. تعامل بوضوح مع بنية الاستجابة ورموز الأخطاء واستهلاك الأرصدة.

مثال على حقلي الاسم الأول والجنس المستخرجين من عنوان بريد إلكتروني
هذه اللقطة مأخوذة من نتيجة تكامل قديم، ولا تعرض قواعد استجابة V2 الحالية.

الدقة والاستخدام المسؤول

لا تفرض نتيجة عندما لا يتضمن العنوان اسمًا

عناوين الأدوار والمعرّفات العشوائية وصناديق البريد المشتركة لا تعطي دائمًا إشارة موثوقة. احتفظ بالحقول data.result_status وdata.reason وdata.confidence، وتعامل مع النتائج غير المؤكدة بصورة منفصلة.

دليل التطبيق في V2

احفظ البيانات المصدر والتقدير كلًّا على حدة

احتفظ بمعرّف السجل الأصلي. لا تفتح API أي ملف تعريف، ولا تتحقق من مالك الحساب، ولا توثّق هوية أي شخص. أرسل سياق الدولة فقط عندما يأتي من معلومات موثوقة، ولا تستنتجه من النطاق أو من لغة الموقع.

السجلالحقلالتفسير
السجل المصدر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. يقيس تكرار مجموعة البيانات ودرجة الذكاء الاصطناعي أمرين مختلفين، وفي نتيجة الذكاء الاصطناعي تكون قيمة sample_count هي null.
سجل العمليةmeta.request_id / meta.usageاحفظ معرّف الطلب وحالة الخصم. عدم تلقي استجابة لا يعني أن العملية كانت مجانية أو أنها فشلت.

يحلّل البحث في مجموعة البيانات الجزء السابق لعلامة @، ويحذف اللاحقة التي تبدأ بعلامة +، ويقيّم الأسماء الأولى المحتملة. وقد يضيف الطلب العادي عددًا محدودًا من المرشحين الإضافيين من بداية الأجزاء المتصلة ونهايتها. عند العثور على عدة صفوف، يُختار الصف صاحب أعلى عدد مسجَّل من مرات الظهور، وليس بالضرورة أن يكون الاسم الأول الحقيقي للشخص. إذا أرسلت دولة، يُستخدم صف تلك الدولة أولًا لكل مرشح؛ وإن لم يوجد، فقد يُستخدم الصف العام. افحص data.match.scope وcountry_source.

اختر وضع المعالجة وتكلفة الأرصدة

الخيارالمعالجةتكلفة كل عنصر مكتمل
options.ai_mode: offمجموعة البيانات فقطرصيد واحد
options.ai_mode: fallbackمجموعة البيانات أولًا؛ وإذا لم يُحدَّد الجنس، الرجوع العادي إلى الذكاء الاصطناعيرصيد واحد إجمالًا، بما في ذلك الذكاء الاصطناعي
options.ai_mode: alwaysالذكاء الاصطناعي مباشرةًرصيدان
forceToGenderize: trueمجموعة البيانات أولًا؛ ثم تفسير الاسم المستعار دون اسم أول حقيقيرصيد واحد إذا كفت مجموعة البيانات؛ ورصيدان إجمالًا إذا استُخدم الذكاء الاصطناعي

القيمة الافتراضية للطلب الفردي هي fallback، وللعناصر في الطلب المجمّع هي off. الخيار forceToGenderize اختياري للأسماء وعناوين البريد الإلكتروني وأسماء المستخدمين على حد سواء؛ ومعه اترك ai_mode دون تحديد أو اضبطه على fallback، لأنه لا يمكن جمعه مع off أو always. تُخصم الأرصدة أيضًا عن النتيجة unknown المكتملة. يكفي رصيد موجب لبدء الطلب، وقد يصبح الرصيد سالبًا بعد اكتمال العملية.

عند استخدام الذكاء الاصطناعي يتلقى العنوان الكامل الذي أرسلته، بما في ذلك النطاق ولاحقة +، حتى لو طُلب منه تجاهل هذين الجزأين. وقد يعيد forceToGenderize جنسًا دون العثور على اسم أول حقيقي؛ وهذا لا يعني أنه استُخرج اسم أول موثّق لنظام CRM لديك.

جرّب أولًا طلب بريد إلكتروني واحدًا بمجموعة البيانات فقط

لا تضمن أمثلة المُدخلات تقديرًا محددًا. اضبط GENDERAPI_API_KEY في بيئة الخادم، ولا تضع المفتاح في شفرة العميل العامة. يستخدم V1 وV2 مفتاح API نفسه ورصيد الحساب نفسه. تحقّق من المفتاح عبر /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.
}

تطبيق وحدة تحكم (console) على .NET 8+. استخدمه كملف Program.cs في مشروع console، ثم شغّل 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 لكل عنصر على حدة. إذا أردت الرجوع العادي إلى الذكاء الاصطناعي، فاضبط fallback صراحةً في كل عنصر. يجب أن يكون id فريدًا داخل الطلب المجمّع نفسه، ويبدأ index من الصفر داخل الطلب المجمّع المُرسل. احفظ معرّف مهمتك ومعرّف الصف المصدر بشكل منفصل.

لا تعني HTTP 200 أن جميع العناصر اكتملت. تعامل مع نتائج identified وunknown وerror كلٌّ على حدة؛ إذ يحتسب meta.summary.succeeded النتائج identified وunknown معًا. اقرأ data.gender وsource وconfidence_kind وconfidence وmatch وreason مجتمعة. ولا تعامل درجة الذكاء الاصطناعي وتكرار مجموعة البيانات على أنهما الشيء نفسه.

إذا كانت قيمة meta.usage.billing_status هي confirmed، فأعد إرسال أخطاء العمليات المسموح بإعادة محاولتها فقط. وإذا كانت الحالة unconfirmed أو لم تصل أي استجابة، فتوقف وتحقّق من الخصم. إعادة إرسال العنصر نفسه، بما في ذلك النتيجة unknown المكتملة، عملية جديدة تُخصم أرصدتها؛ فلا تُعِد إرسال القائمة كاملة دون تحقق أبدًا.

قواعد الطلب المجمّع · حقول الاستجابة · خيارات الذكاء الاصطناعي · تقييم الدقة ودرجة الثقة · سياسة الخصوصية

قد تستخدم إضافة Excel وإضافة Google Sheets والتكاملات الجاهزة الأخرى اتصالاتها وتنسيقات نتائجها الخاصة. لا تفترض أن مخرجاتها تتبع بنية JSON هذه في V2، وراجع الدليل الحالي للتكامل المعني.

الأسئلة الشائعة

الاسم الأول والجنس من عنوان البريد الإلكتروني

هل يمكن استخراج الاسم الأول من عنوان البريد الإلكتروني؟

في عناوين البريد الإلكتروني الشخصية المدعومة، يستطيع GenderAPI استخراج اسم أول محتمل من الجزء السابق لعلامة @، ويعيد عند توفر نتيجة معلومات الجنس والبلد ودرجة الثقة. الاسم المحتمل تقدير، وليس الاسم الموثّق لمالك عنوان البريد الإلكتروني.

هل يُعثر على اسم في كل عنوان بريد إلكتروني؟

لا. عناوين الأدوار والمعرّفات العشوائية والأجزاء السابقة لعلامة @ التي لا تتضمن اسمًا حقيقيًا لا تعطي دائمًا إشارة موثوقة. افحص في استجابة V2 الحقول data.result_status وdata.reason وdata.confidence وdata.confidence_kind.

هل تُحفظ استعلامات البريد الإلكتروني؟

وفق السياسة المنشورة، لا يُحتفظ باستعلامات البريد الإلكتروني كسجلات استعلام قابلة لإعادة الاستخدام. وتخضع السجلات التقنية والأمنية المنفصلة لمدد الاحتفاظ المبيّنة في سياسة الخصوصية. لا تُدخل بيانات شخصية حساسة في العرض التجريبي العام.

هل يمكن استخدام ذلك في Excel وGoogle Sheets؟

نعم. يمكن معالجة عمود عناوين البريد الإلكتروني عبر إضافة Excel أو إضافة Google Sheets أو أداة رفع ملفات Excel وCSV. ولهذه التكاملات تنسيقات نتائج خاصة بها تختلف عن JSON في V2.

ما الحقول التي تعيدها واجهة API؟

يعيد V2 الحقول data.name وdata.gender وdata.match وحقول المصدر ودرجة الثقة، ويذكر في meta معرّف الطلب واستهلاك الأرصدة. قد يكون الاسم المحتمل أو الجنس null. ولا تتضمن الاستجابة حقلًا لاسم عائلة موثّق.

متى يُستخدم الذكاء الاصطناعي؟

في الطلب الفردي في V2 يكون الرجوع العادي إلى الذكاء الاصطناعي مفعّلًا افتراضيًا. في هذا العرض التجريبي يمكنك استخدام الطلب العادي أو forceToGenderize، أما off وalways فيُضبطان في طلب API. تكلفة الرجوع العادي إلى الذكاء الاصطناعي رصيد واحد إجمالًا، وتكلفة always رصيدان. ومع forceToGenderize تكون التكلفة رصيدًا واحدًا إذا جاءت النتيجة من مجموعة البيانات، ورصيدين إجمالًا إذا استُخدم الذكاء الاصطناعي؛ وقد تبقى النتيجة unknown مع ذلك.

هل يمكن تجربة الخدمة مجانًا؟

يحصل الحساب على 200 رصيد مجاني كل يوم، وتمنح التجربة المشتركة حسب عنوان IP كل عنوان IP عام 10 أرصدة خلال فترة 24 ساعة. قد تُستخدم التجربة حسب عنوان IP عند غياب مفتاح API أو تعذّر التعرف إليه؛ راجع الحقل meta.access.mode في الاستجابة. تُحتسب هنا الأرصدة، لا عدد الطلبات.

تاريخ النشر: 14 يونيو 2025آخر مراجعة:

أعدّ سير عمل API

جرّب تحليل عناوين البريد الإلكتروني في الخادم لديك

استخدم نقطة نهاية البريد الإلكتروني الموثّقة، واحتفظ بمفتاح API على الخادم فقط.

توثيق API لعناوين البريد الإلكتروني

متابعة الاختبار

استخدم مفتاح GenderAPI

ألصق مفتاح API من حساب GenderAPI لمتابعة الاختبار بعد نفاد الأرصدة المشتركة للتجربة حسب عنوان IP خلال 24 ساعة. حفظ المفتاح لا يرسل أي طلب؛ أعد إرسال الطلب عندما تكون جاهزًا.

يُحفظ في علامة التبويب الحالية فقط ويُحذف عند إغلاقها.