CLIENTS API & EXEMPLES DE CODE

Sélectionne ton langage de programmation pour voir les instructions d’installation et des exemples de code

Notre bibliothèque cliente PHP officielle offre un moyen pratique d’intégrer Gender API dans tes applications PHP à l’aide du gestionnaire de packages Composer.

Commence par installer notre bibliothèque avec Composer :

$ composer require gender-api/client
use GenderApi\Client as GenderApiClient;

try {
    $apiClient = new GenderApiClient('insert your API key');

    // Query a single name
    $lookup = $apiClient->getByFirstName('elisabeth');
    if ($lookup->genderFound()) {
        echo $lookup->getGender();      // female
    }

    // Query a full name and improve the result by providing a country code
    $lookup = $apiClient->getByFirstNameAndLastNameAndCountry('Thomas Johnson', 'US');
    if ($lookup->genderFound()) {
        echo $lookup->getGender();      // male
        echo $lookup->getFirstName();   // Thomas
        echo $lookup->getLastName();    // Johnson
    }

} catch (GenderApi\Exception $e) {
    // Name lookup failed due to a network error or insufficient remaining requests
    // left. See https://gender-api.com/en/api-docs/error-codes
    echo 'Exception: ' . $e->getMessage();
}

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client

Commence par installer notre bibliothèque avec npm :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

Commence par installer notre bibliothèque avec npm :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

Télécharge un exemple de projet ici :

Documentation:

https://github.com/microknights/Gender-API

PHP Legacy

Implémentation PHP autonome sans dépendance à Composer, idéale pour les projets hérités ou les intégrations simples.

Commence par installer notre bibliothèque avec Composer :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client

function getGender($firstname) {
  $myKey = 'insert your server key here';
  $data = json_decode(file_get_contents(
  'https://gender-api.com/get?key=' .
  $myKey .
  '&name=' . urlencode($firstname)));
  return $data->gender;
  }

  echo getGender('markus'); //Output: male

Commence par installer notre bibliothèque avec npm :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

Commence par installer notre bibliothèque avec npm :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

Télécharge un exemple de projet ici :

Documentation:

https://github.com/microknights/Gender-API

Client fortement typé pour les projets TypeScript avec prise en charge complète d’IntelliSense et vérification de types stricte.

Commence par installer notre bibliothèque avec Composer :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client

Commence par installer notre bibliothèque avec npm :

$ npm i gender-api.com-client --save
import {Client as GenderApiClient, ResultSingleName} from "gender-api.com-client";

const genderApiClient = new GenderApiClient("your API key");

try {
    genderApiClient.getByFirstName('theresa', (response: ResultSingleName) => {
      console.log(response.gender); //female
      console.log(response.accuracy); //98
    });

    genderApiClient.getByFirstNameAndCountry('john', 'US', (response: ResultSingleName) => {
      console.log(response.gender); //male
      console.log(response.accuracy); //99
    });
}
catch(e) {
  console.log('Error:', e);
}

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

Commence par installer notre bibliothèque avec npm :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

Télécharge un exemple de projet ici :

Documentation:

https://github.com/microknights/Gender-API

Client JavaScript facile à utiliser pour les environnements Node.js et navigateurs, avec une API basée sur les Promises.

Commence par installer notre bibliothèque avec Composer :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client

Commence par installer notre bibliothèque avec npm :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

Commence par installer notre bibliothèque avec npm :

$ npm i gender-api.com-client --save
try {
    var GenderApi = require('gender-api.com-client');

    var genderApiClient = new GenderApi.Client('your api key');

    genderApiClient.getByFirstName('theresa', function (response) {
        console.log(response.gender); //female
        console.log(response.accuracy); //98
    });

    genderApiClient.getByFirstNameAndCountry('john', 'US', function (response) {
        console.log(response.gender); //male
        console.log(response.accuracy); //99
    });

}
catch(e) {
    console.log('Error:', e);
}

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

Télécharge un exemple de projet ici :

Documentation:

https://github.com/microknights/Gender-API

Python

Client API “Pythonic” avec un code clair et lisible, parfait pour la data science, le machine learning et les applications web.

Commence par installer notre bibliothèque avec Composer :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client

Commence par installer notre bibliothèque avec npm :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

Commence par installer notre bibliothèque avec npm :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

Python 3.*
import json

from urllib.request import urlopen

myKey = "insert your server key here"
url = "https://gender-api.com/get?key=" + myKey + "&name=kevin"
response = urlopen(url)
decoded = response.read().decode('utf-8')
data = json.loads(decoded)
print( "Gender: " + data["gender"]); #Gender: male

Python 2.*
import json
import urllib2

myKey = "insert your servery key here"
data = json.load(urllib2.urlopen("https://gender-api.com/get?key=" + myKey + "&name=markus"))
print "Gender: " + data["gender"]; #Gender: male

Télécharge un exemple de projet ici :

Documentation:

https://github.com/microknights/Gender-API

R

Idéal pour l’analyse statistique et les workflows de data science en R, avec une intégration fluide.

Commence par installer notre bibliothèque avec Composer :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client

Commence par installer notre bibliothèque avec npm :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

Commence par installer notre bibliothèque avec npm :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

$ apt install r-cran-dplyr r-cran-httr2 r-cran-tibble r-cran-jsonlite
#' Gender API Client (single name only)
#'
#' Gets gender by a first name, optionally filtered by country.
#'
#' @param name A character string containing a single first name.
#' @param country Optional two-letter country code, see: https://gender-api.com/en/api-docs
#' @param api_key Your Gender-API.com API key.
#'
#' @return A tibble containing the estimated gender, number of samples,
#'   accuracy (0–100), and the request duration in ms.
#' @export
#'
#' @examples
#' \dontrun{
#' gender("Andrea", country="US", api_key="YOUR_KEY")
#' gender("Andrea", country="IT")
#' }
#'
library(httr2)
library(dplyr)

gender <- function(name, country = NULL, api_key = Sys.getenv("GENDER_API_KEY")) {
  if (missing(name) || length(name) != 1) {
    stop("`name` must be a single string.")
  }
  if (is.null(api_key) || api_key == "") {
    stop("API key is required. Set with `Sys.setenv(GENDER_API_KEY='your_key')` or pass via `api_key`.")
  }

  args <- list(
    key = api_key,
    name = name
  )
  if (!is.null(country)) args<- country

  resp <- request("https://gender-api.com/get") %>%
    req_url_query(!!!args) %>%
    req_perform()

  if (resp_status(resp) >= 400) {
    stop("Request failed: ", resp_status_desc(resp))
  }

  out <- resp_body_json(resp, simplifyVector = TRUE)

  tibble::as_tibble(out)
}

gender("Andrea", country="US", api_key="<YOUR API KEY>")

Télécharge un exemple de projet ici :

Documentation:

https://github.com/microknights/Gender-API

Java

Implémentation Java prête pour l’entreprise pour des applications robustes et évolutives avec une gestion d’erreurs fiable.

Commence par installer notre bibliothèque avec Composer :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client

Commence par installer notre bibliothèque avec npm :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

Commence par installer notre bibliothèque avec npm :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import com.google.gson.Gson;
import com.google.gson.JsonObject;

public class Main {

  public static void main(String[] args) {

  try {

    String myKey = "insert your server key here";
    URL url = new URL("https://gender-api.com/get?key=" + myKey + "&name=markus");
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();

    if (conn.getResponseCode() != 200) {
      throw new RuntimeException("Error: " + conn.getResponseCode());
    }

    InputStreamReader input = new InputStreamReader(conn.getInputStream());
    BufferedReader reader = new BufferedReader(input);

    Gson gson = new Gson();
    JsonObject json = gson.fromJson(reader, JsonObject.class);
    String gender = json.get("gender").getAsString();
    System.out.println("Gender: " + gender); // Gender: male
    conn.disconnect();

    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

Télécharge un exemple de projet ici :

Documentation:

https://github.com/microknights/Gender-API

Intégration .NET pour les applications C# avec prise en charge complète d’async/await et des fonctionnalités modernes de C#.

Commence par installer notre bibliothèque avec Composer :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client

Commence par installer notre bibliothèque avec npm :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

Commence par installer notre bibliothèque avec npm :

L'ensemble de la documentation client est accessible ici :

https://github.com/markus-perl/gender-api-client-npm

Télécharge un exemple de projet ici :

Documentation:

https://github.com/microknights/Gender-API
// Contributed Client: https://github.com/microknights/Gender-API

using MicroKnights.Gender_API;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Net.Http;
using System.Threading.Tasks;

namespace GenderAPI
{
    class Program
    {
        public static async Task RunTests(GenderApiClient client)
        {
            var responseStats = await client.GetStatistics();
            if( responseStats.IsSuccess ) {
                Console.WriteLine($"IsLimitReached: {responseStats.IsLimitReached}");
                Console.WriteLine($"Remaning requests: {responseStats.RemaningRequests}");

                const string Name = "Frank Nielsen";
                var responseName = await client.GetByNameAndCountry2Alpha(Name, "DK");
                if( responseName.IsSuccess ) {
                    Console.WriteLine($"{Name} is {responseName.GenderType.DisplayName}");
                }
                else {
                    Console.WriteLine($"ERRORS: {responseName.ErrorCode}-{responseName.Exception.Message}");
                }
            }
            else {
                Console.WriteLine($"ERRORS: {responseStats.ErrorCode}-{responseStats.Exception.Message}");
            }
        }

        public static Task UsingServiceProvider(string apiKey){
            // client is thread-safe, and can be used static.
            var serviceProvider = new ServiceCollection()
                .UseGenderAPI(apiKey)
                .BuildServiceProvider();

            return RunTests(serviceProvider.GetRequiredService<GenderApiClient>());
        }

        public static Task PlainConsole(string apiKey){
            // client is thread-safe, and can be used static.
            var client = new GenderApiClient(
                new HttpClient
                {
                    BaseAddress = new Uri("https://gender-api.com")
                },
                new GenderApiConfiguration
                {
                    ApiKey = apiKey
                });
            return RunTests(client);
        }

        static async Task Main(string[] args)
        {
            var apiKey = "?";

            await PlainConsole(apiKey);
            await UsingServiceProvider(apiKey);
        }
    }
}

Prêt à te lancer ?

Inscris-toi gratuitement et obtiens 100 requêtes par mois sans carte de crédit.

Chat