Choose the Pipedream connection that matches your contract
This guide's HTTP recipe calls GenderAPI.io V2 at https://api.genderapi.io/api/v2/gender. Send type and value in the JSON body; read the estimate from data and the request and billing details from meta. Native connectors have their own contracts, as described below.
The reviewed public Pipedream GenderAPI.io component uses the legacy base https://api.genderapi.io/api and sends name or email, optional country and the API key as query parameters. That published implementation is a V1 connector, not the V2 JSON endpoint.
You can keep an existing native action on its own contract or add a generic HTTP step for V2. Do not assume the native connected account's automatic authentication is correct for this separate V2 request: the recipe explicitly uses a Bearer header.
Prepare the account and source record
This example enriches Twilio SendGrid records using an email address. You need access to the source and destination apps, a GenderAPI.io account key, and the platform features used by the HTTP action. No working credentials or connected accounts are supplied by this guide.
V1 and V2 use the same account key and balance. Verify the key through GET /api/v2/usage before setting up a billable lookup, and check that meta.access.mode is api_key in that endpoint's response. A missing or unrecognized key can fall back to a shared IP trial; it should not silently power a production automation.
Keep the workflow disabled while configuring it. Sending a test prediction still uses normal credits. These instructions were reviewed against public documentation and the V2 contract; an authenticated end-to-end platform workflow was not executed for this publication.
Configure the GenderAPI.io V2 request in Pipedream
- Choose the Twilio SendGrid event or schedule that matches your account and workflow. Inspect one test contact, retain its stable ID, and skip empty email values before the enrichment step. The trigger's available interval is a platform setting, not a GenderAPI guarantee.
- Add the Send any HTTP Request action, select POST, and set the URL below. Configure a JSON body with type = email, value = the contact email, and options.ai_mode = off.
- Store your key using Pipedream's credential or environment-variable controls. Set Authorization to Bearer followed by that secret, and set Content-Type to application/json. Do not reuse native query-key authentication or print the key in a step.
- Build the body as a JSON object using the action's supported mapping controls. Avoid assembling raw JSON by concatenating unescaped contact values. Inspect the request preview before deliberately running one test.
| HTTP setting | Value | Purpose |
|---|---|---|
Method | POST | Submit one prediction request. |
URL | https://api.genderapi.io/api/v2/gender | The GenderAPI.io V2 single-prediction endpoint. |
Authorization | Bearer YOUR_API_KEY | Replace the placeholder using the platform's authentication/header controls. |
Content-Type | application/json | Send an object with a nested options object, not form fields. |
options.ai_mode | off | A deliberate dataset-only first test; normal charge is 1 credit, even if unknown. |
Check the JSON body before sending
This is a static input illustration, not a predicted result. First verify the request shape; then replace value with the mapped source field using proper JSON serialization. Do not paste platform mapping expressions into the API as literal strings.
For another input, set type to name, email or username and provide the corresponding value. Add country only when reliable context is available; it is optional and is not a country-of-residence lookup.
{
"type": "email",
"value": "alex@example.com",
"options": {
"ai_mode": "off"
}
}Inspect the HTTP step before enabling updates
Inspect the HTTP step's exported response and locate the parsed body. If your chosen action returns body text, parse it once before reading data and meta. A transport wrapper's own data field is distinct from the V2 body's data field.
For a code-based workflow with explicit timeout, redirect and retry behavior, use the tested Node.js guide linked below. The generic action and native app can have different transport defaults.
Route identified, unknown and failed outcomes separately
Parse the response body before choosing a destination update. The JSON paths below refer to the V2 body; your platform may wrap or flatten it. Confirm the actual returned structure with a deliberate test and keep the result attached to the source record ID.
An estimate does not establish a person's identity or self-declared gender. Store it separately from information the person provided. Choose acceptance criteria using evidence for your own workload, and evaluate dataset and AI confidence separately.
| Check | Expected value or type | Workflow decision |
|---|---|---|
meta.access.mode | api_key for this account workflow | Stop on ip_trial; correct the key. A successful trial response does not prove account authentication and may already have used trial credits. |
meta.usage.billing_status | confirmed or unconfirmed | If unconfirmed, retain the request ID and seek billing reconciliation before retrying or proceeding. |
data.result_status / data.gender | identified with male or female; unknown with null | Route accepted identified results to a separate inferred field. Preserve unknowns without assigning a default category. |
data.confidence / data.confidence_kind | number from 0 to 1 or null; evidence kind or null | Interpret observed_frequency and model_reported separately; neither is a universal accuracy guarantee. |
data.source / data.sample_count | dataset, ai or none / integer or null | Retain how the estimate was obtained. AI has no stored sample count; a dataset count is not a product accuracy score. |
meta.request_id / meta.usage | request reference / usage object | Store with your workflow record and result. Keep API keys and unnecessary personal input out of routine logs. |
HTTP failure / missing response | Problem Details or no complete response | Pause the update and inspect error and billing state. A timeout does not prove that the server did no work. |
Update only the intended Twilio SendGrid record
Keep the returned contact ID from the trigger with the parsed V2 body. After applying the result checks below, update only the intended SendGrid custom fields. Preserve a name supplied by the contact; data.name from an email is an inferred candidate, not a verified replacement.
Test the identified, unknown and error branches before enabling updates. You can use synthetic sample responses to exercise branch conditions without issuing another prediction. A destination update should be conditional on the checks above, and should not overwrite unrelated fields or tags.
Control replays and repeated charges
Pipedream documents plan-dependent automatic retries from the failed step. Review those settings and any retry behavior in the selected HTTP action. A retry of a failed enrichment step can charge again; a later destination failure should be repaired from the saved enrichment output.
Each new GenderAPI request is an independent operation. Deduplicate repeated source events in your own workflow before sending, using a stored source ID and processing state. A source-record ID is not a server-side replay protection key.
A successful unknown is a completed billable result. For a timeout or incomplete response, the result and charge may be unknown; keep the request reference when available and reconcile before resubmitting. Respect Retry-After on rate-limit responses when present.
Choose when to use AI
forceToGenderize is optional for names, email addresses and usernames. With it enabled, omit ai_mode or use fallback; off and always conflict with it and return 422. A positive starting balance is enough to begin a request even if its final charge takes the balance below zero.
Nickname mode can return a gender with name: null. It can also return an unknown result. Neither ordinary fallback nor nickname inference guarantees a correct or non-null answer.
| Request option | Behavior | Credits for a successful lookup |
|---|---|---|
| options.ai_mode: off | Use the dataset only. | 1, including an unknown result |
| options.ai_mode: fallback | Try the dataset, then ordinary AI when no gender is returned. This is the single-request default. | 1 total, including AI fallback |
| options.ai_mode: always | Ask AI directly. | 2 |
| forceToGenderize: true | Try the dataset first, then allow AI to interpret a personal nickname or alias even without a real given name. | 1 for a resolved dataset result; 2 total if AI is used |
Validate the workflow before increasing volume
- Verify the real serialized JSON, parsed output paths, API-key access and confirmed billing with one deliberate test. Test unknown and failure routing with fixtures where possible.
- Confirm which workflow steps retry and which customer fields change. Retain the source record ID, completed response and request reference so a later destination failure does not require another lookup.
- Enable a small controlled run and inspect its records and credits before increasing concurrency. GenderAPI credits and the automation platform's task or operation charges are separate.
- For a batch, use POST /api/v2/gender/batch with up to 50 items for API-key access or 10 for the IP trial. The items array can mix names, emails and usernames, with explicit per-item options and unique IDs. Inspect every result; HTTP 200 may contain partial failures. A native connector's batch support must be checked separately.
Frequently asked questions
Does Pipedream's native GenderAPI.io action use V2?
The public component reviewed on 26 September 2026 uses legacy V1 endpoints and query-key authentication. Use the explicit HTTP V2 recipe for a V2 request, and recheck the published component if its version changes.
Does the direct HTTP example allow AI?
The first-request body sets options.ai_mode to off. Change it deliberately to fallback for ordinary AI fallback at 1 credit total, or always for AI at 2 credits. forceToGenderize tries the dataset first and costs 1 credit if resolved there or 2 total when AI is used.
Is an unknown result free, or safe to retry automatically?
No. A successful unknown is billable and complete. A replay is a new operation. For transport errors or unconfirmed billing, inspect the returned usage and request reference before deciding whether to resubmit.
Was this workflow executed in a connected account?
No. The platform setup instructions were reviewed against public documentation on 26 September 2026. The GenderAPI.io V2 request and response explanations were reviewed on 27 September 2026. Test the chosen action's current fields, authentication, body, response and retries in your own account before enabling production updates.
Reference sources
Platform references and the GenderAPI V2 contract were reviewed on . Check the listed platform documentation for current setup controls and action availability.