Gender API Gender API

The Gender API from Gender API — 6 operation(s) for gender.

Operations 6

POST /gender/by-first-name Query by a single first name #
POST /gender/by-full-name Query by a single full name #
POST /gender/by-email-address Query by a single email address #
POST /gender/by-first-name-multiple Query multiple names in a single request #
POST /gender/by-full-name-multiple Query multiple names in a single request #
POST /gender/by-email-address-multiple Query multiple names by email address #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/gender-api:gender-api-gender-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

gender-api-gender-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '2.1'
  title: API.com Gender API
  description: Gender-API hilft dir herauszufinden, ob ein Vorname mehr von männlichen oder weiblichen Personen benutzt wird.
servers:
- url: https://gender-api.com/v2
  description: Main (production) server
security:
- bearerToken: []
tags:
- name: Gender
paths:
  /gender/by-first-name:
    post:
      summary: Query by a single first name
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FirstNameRequestModel'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FirstNameResultModel'
        '400':
          $ref: '#/components/responses/HttpError'
        '401':
          $ref: '#/components/responses/LimitExceededError'
      tags:
      - Gender
      operationId: postGenderByFirstName
      x-operation-id-source: derived
  /gender/by-full-name:
    post:
      summary: Query by a single full name
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FullNameRequestModel'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FullNameResultModel'
        '400':
          $ref: '#/components/responses/HttpError'
        '401':
          $ref: '#/components/responses/LimitExceededError'
      tags:
      - Gender
      operationId: postGenderByFullName
      x-operation-id-source: derived
  /gender/by-email-address:
    post:
      summary: Query by a single email address
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailRequestModel'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailResultModel'
        '400':
          $ref: '#/components/responses/HttpError'
        '401':
          $ref: '#/components/responses/LimitExceededError'
      tags:
      - Gender
      operationId: postGenderByEmailAddress
      x-operation-id-source: derived
  /gender/by-first-name-multiple:
    post:
      summary: Query multiple names in a single request
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FirstNameRequestModelMultiple'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FirstNameResultModelMultiple'
        '400':
          $ref: '#/components/responses/HttpError'
        '401':
          $ref: '#/components/responses/LimitExceededError'
      tags:
      - Gender
      operationId: postGenderByFirstNameMultiple
      x-operation-id-source: derived
  /gender/by-full-name-multiple:
    post:
      summary: Query multiple names in a single request
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FullNameRequestModelMultiple'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FullNameResultModelMultiple'
        '400':
          $ref: '#/components/responses/HttpError'
        '401':
          $ref: '#/components/responses/LimitExceededError'
      tags:
      - Gender
      operationId: postGenderByFullNameMultiple
      x-operation-id-source: derived
  /gender/by-email-address-multiple:
    post:
      summary: Query multiple names by email address
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailRequestModelMultiple'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailResultModelMultiple'
        '400':
          $ref: '#/components/responses/HttpError'
        '401':
          $ref: '#/components/responses/LimitExceededError'
      tags:
      - Gender
      operationId: postGenderByEmailAddressMultiple
      x-operation-id-source: derived
components:
  schemas:
    FullNameRequestModelMultiple:
      type: array
      items:
        oneOf:
        - $ref: '#/components/schemas/FullNameRequestModel'
      example:
      - id: '1'
        first_name: sandra miller
        country: US
      - id: '2'
        first_name: mike meyers
    EmailRequestModelMultiple:
      type: array
      items:
        oneOf:
        - $ref: '#/components/schemas/EmailRequestModel'
      example:
      - id: '1'
        email: sandra.miller14@gmail.com
        country: US
      - id: '2'
        email: mark.meyer@gmail.com
    ErrorModel:
      type: object
      properties:
        status:
          type: integer
          description: error code.
          example: 400
        type:
          type: string
          description: Link to the error description.
          example: https://gender-api.com/en/api-docs/v2/index/problem-details/invalid-country-code
        title:
          type: string
          description: error id.
          example: invalid-country-code
        detail:
          type: string
          description: human readable error description
          example: The given country code is not valid. You can find a list of valid country codes in our API docs.
    FirstNameRequestModelMultiple:
      type: array
      items:
        oneOf:
        - $ref: '#/components/schemas/FirstNameRequestModel'
      example:
      - id: '1'
        first_name: sandra
        country: US
      - id: '2'
        first_name: mike
        country: CA
    LimitExceededModel:
      allOf:
      - $ref: '#/components/schemas/ErrorModel'
      properties:
        status:
          example: 401
        type:
          example: https://gender-api.com/en/api-docs/v2/index/problem-details/limit-exceeded
        title:
          example: limit-exceeded
        detail:
          example: Your account has no requests left. This is not an authentication error, and retrying will not help. Buy more requests at https://gender-api.com/en/pricing?from=api-limit
        upgrade_url:
          type: string
          format: uri
          description: Link to the pricing page where more requests can be bought. Show it to the person who manages the account. Only present when title is limit-exceeded.
          example: https://gender-api.com/en/pricing?from=api-limit
    ResultModel:
      type: object
      properties:
        input:
          type: object
          description: The submitted payload
        details:
          type: object
          description: Technical details about the response
          properties:
            credits_used:
              type: integer
              example: 1
              description: The amount of credits used for this query
            samples:
              type: integer
              example: 150
              description: Number of records found in our database which match your request
            country:
              type: string
              description: The country we found
              example: null
            first_name_sanitized:
              type: string
              description: The name after we applied our normalizer to it
              example: sandra
            duration:
              type: string
              description: Time the server needed to process the request
              example: 78ms
        result_found:
          type: boolean
          description: True if we were able to query a gender for the given name
        first_name:
          type: string
          description: The first name we used for genderization
          example: Sandra
        probability:
          type: number
          format: float
          example: 0.95
          description: This value (between 0 and 1) determines the reliability of our database. A value of 1 means that the results on your gender request are 100% accurate.
        gender:
          type: string
          example: female
          description: 'Possible values: male, female, unknown (if we have the same amount of male and female samples for this name, the API will return unknown here)'
    EmailResultModelMultiple:
      allOf:
      - $ref: '#/components/schemas/ResultModelMultiple'
      example:
      - input:
          email: sandra.miller14@gmail.com
          country: US
          id: '1'
        details:
          credits_used: 1
          duration: 82ms
          samples: 70
          country: US
          first_name_sanitized: sandra
        result_found: true
        last_name: Miller
        first_name: Sandra
        probability: 0.61
        gender: female
      - input:
          email: mark.meyer@gmail.com
          id: '2'
        details:
          credits_used: 1
          duration: 94ms
          samples: 10
          country: null
          first_name_sanitized: meyer
        result_found: true
        last_name: Mark
        first_name: Meyer
        probability: 1
        gender: male
    EmailResultModel:
      allOf:
      - $ref: '#/components/schemas/ResultModel'
      properties:
        input:
          properties:
            email:
              type: string
              example: sandra.miller14@gmail.com
    FirstNameResultModelMultiple:
      allOf:
      - $ref: '#/components/schemas/ResultModelMultiple'
      example:
      - input:
          first_name: sandra
          country: US
          id: '1'
        details:
          credits_used: 1
          duration: 72ms
          samples: 70
          country: US
          first_name_sanitized: sandra
        result_found: true
        first_name: Sandra
        probability: 0.61
        gender: female
      - input:
          first_name: mike
          country: CA
          id: '2'
        details:
          credits_used: 1
          duration: 77ms
          samples: 1180
          country: null
          first_name_sanitized: mike
        result_found: true
        first_name: Mike
        probability: 0.98
        gender: male
    FullNameResultModelMultiple:
      allOf:
      - $ref: '#/components/schemas/ResultModelMultiple'
      example:
      - input:
          first_name: sandra miller
          country: US
          id: '1'
        details:
          credits_used: 1
          duration: 43ms
          samples: 70
          country: US
          first_name_sanitized: sandra
        result_found: true
        first_name: Sandra
        probability: 0.61
        gender: female
      - input:
          first_name: mike meyers
          id: '2'
        details:
          credits_used: 1
          duration: 75ms
          samples: 1180
          country: null
          first_name_sanitized: mike
        result_found: true
        first_name: Mike
        probability: 0.98
        gender: male
    FirstNameRequestModel:
      allOf:
      - $ref: '#/components/schemas/NameRequestModel'
      - type: object
        properties:
          first_name:
            type: string
            description: Name to query
            example: Sandra
    FullNameResultModel:
      allOf:
      - $ref: '#/components/schemas/ResultModel'
      properties:
        input:
          properties:
            full_name:
              type: string
              example: Sandra Miller
    FullNameRequestModel:
      allOf:
      - $ref: '#/components/schemas/NameRequestModel'
      - type: object
        properties:
          full_name:
            type: string
            description: Name to query
            example: Sandra Miller
    NameRequestModel:
      properties:
        country:
          type: string
          example: US
          enum:
          - null
          - AF
          - AL
          - DZ
          - AS
          - AD
          - AO
          - AI
          - AQ
          - AG
          - AR
          - AM
          - AW
          - AU
          - AT
          - AZ
          - BS
          - BH
          - BD
          - BB
          - BY
          - BE
          - BZ
          - BJ
          - BM
          - BT
          - BO
          - BA
          - BW
          - BV
          - BR
          - BQ
          - IO
          - VG
          - BN
          - BG
          - BF
          - BI
          - KH
          - CM
          - CA
          - CT
          - CV
          - KY
          - CF
          - TD
          - CL
          - CN
          - CX
          - CC
          - CO
          - KM
          - CG
          - CD
          - CG
          - CG
          - CK
          - CR
          - HR
          - CU
          - CY
          - CZ
          - CI
          - CI
          - DK
          - DJ
          - DM
          - DO
          - NQ
          - EC
          - EG
          - SV
          - GQ
          - ER
          - EE
          - ET
          - FK
          - FO
          - FJ
          - FI
          - FR
          - GF
          - PF
          - TF
          - FQ
          - GA
          - GM
          - GE
          - DE
          - GH
          - GI
          - GR
          - GL
          - GD
          - GP
          - GU
          - GT
          - GG
          - GN
          - GW
          - GY
          - HT
          - HM
          - HN
          - HK
          - HK
          - HU
          - IS
          - IN
          - ID
          - IR
          - IQ
          - IE
          - IM
          - IL
          - IT
          - JM
          - JP
          - JE
          - JT
          - JO
          - KZ
          - KE
          - KI
          - KW
          - KG
          - LA
          - LV
          - LB
          - LS
          - LR
          - LY
          - LI
          - LT
          - LU
          - MO
          - MK
          - MG
          - MW
          - MY
          - MV
          - ML
          - MT
          - MH
          - MQ
          - MR
          - MU
          - YT
          - FX
          - MX
          - FM
          - FM
          - MI
          - MD
          - MC
          - MN
          - ME
          - MS
          - MA
          - MZ
          - MM
          - MM
          - NA
          - NR
          - NP
          - NL
          - AN
          - NT
          - NC
          - NZ
          - NI
          - NE
          - NG
          - NU
          - NF
          - KP
          - VD
          - MP
          - 'NO'
          - OM
          - PC
          - PK
          - PW
          - PS
          - PA
          - PZ
          - PG
          - PY
          - YD
          - PE
          - PH
          - PN
          - PL
          - PT
          - PR
          - QA
          - RO
          - RU
          - RW
          - RE
          - RE
          - RE
          - BL
          - SH
          - KN
          - LC
          - MF
          - SX
          - PM
          - VC
          - WS
          - SM
          - SA
          - SN
          - RS
          - CS
          - SC
          - SL
          - SG
          - SK
          - SI
          - SB
          - SO
          - ZA
          - GS
          - KR
          - ES
          - LK
          - SD
          - SD
          - SR
          - SJ
          - SZ
          - SE
          - CH
          - SY
          - ST
          - ST
          - TW
          - TJ
          - TZ
          - TH
          - TL
          - TL
          - TG
          - TK
          - TO
          - TT
          - TN
          - TR
          - TM
          - TC
          - TV
          - UM
          - PU
          - VI
          - UG
          - UA
          - AE
          - GB
          - UY
          - UZ
          - VU
          - VA
          - VE
          - VN
          - WK
          - WF
          - EH
          - YE
          - ZM
          - ZW
          - AX
        locale:
          type: string
          description: Browser Locale
          example: null
        ip:
          type: string
          description: Valid IPv4 or IPv6 address
          example: null
    EmailRequestModel:
      allOf:
      - $ref: '#/components/schemas/NameRequestModel'
      - type: object
        properties:
          email:
            type: string
            description: Email address to query
            example: sandra.miller14@gmail.com
      required:
      - email
    FirstNameResultModel:
      allOf:
      - $ref: '#/components/schemas/ResultModel'
      properties:
        input:
          properties:
            first_name:
              type: string
              example: Sandra
    ResultModelMultiple:
      type: array
      items:
        $ref: '#/components/schemas/ResultModel'
  responses:
    HttpError:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
      description: " parameter-first-name-invalid: The \"first_name\" parameter is invalid. The parameter can only be a string with a length from 1 to 50 chars. \n\n parameter-full-name-invalid: The \"full_name\" parameter is invalid. The parameter can only be a string with a length from 3 to 100 chars. \n\n parameter-email-invalid: The \"email\" parameter is invalid. The parameter can only be a string with a length from 3 to 100 chars and must be a valid email address. \n\n invalid-key: Invalid API key. You can find your personal API key in your account. \n\n invalid-country-code: The given country code is not valid. You can find a list of valid country codes in our API docs. \n\n invalid-ip-address: The given ip address is not valid. Please provide either a valid IPv4 or an IPv6 address. \n\n invalid-json: The JSON from the post data is invalid \n\n invalid-locale: The given locale is not valid. You can find a list of valid country codes in our API docs. \n\n invalid-id: The given id is not valid. An id can be either an integer or a string with 50 chars at max. \n\n mandatory-parameter-missing: Mandatory parameter missing. Either first_name, full_name or email must be set. \n\n content-type-missing: Content-Type missing. Please add a \"Content-Type: application/json\" to your API call. \n\n missing-json: We weren't able to find a json body in your API call. Please make sure the body is sent with a POST request to our API endpoint. \n\n too-many-queries: Too many queries in a single API call. authorization-header-missing: Your query misses the \"Authorization\" header with the bearer token. \n\n invalid-auth-token: Invalid authentication token provided. Please log in to your account to find a list of valid tokens or to create a new one. \n\n "
    LimitExceededError:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/LimitExceededModel'
      description: limit-exceeded - Your account has no requests left. The status stays 401 for backwards compatibility, but this is not an authentication error and retrying will not help. The response carries an upgrade_url field with the link to buy more requests.
  securitySchemes:
    bearerToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Get an API key here: [https://gender-api.com/en/account/auth-tokens](https://gender-api.com/en/account/auth-tokens)'
x-provenance:
  method: harvested
  publisher: Gender API
  source: https://gender-api.com/openapi/openapi.yml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)