@apifreaks/openapi-specs 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +765 -22
- package/dist/index.js +765 -22
- package/dist/specs/email-validation/bulk-email-validation.yaml +64 -10
- package/dist/specs/email-validation/email-checker.yaml +74 -11
- package/package.json +1 -1
- package/specs/email-validation/bulk-email-validation.json +78 -9
- package/specs/email-validation/email-checker.json +88 -11
package/dist/index.cjs
CHANGED
|
@@ -9401,7 +9401,7 @@ var bulk_email_validation_default = {
|
|
|
9401
9401
|
info: {
|
|
9402
9402
|
title: "Bulk Email Validation API - Validate and Verify Emails in Bulk",
|
|
9403
9403
|
version: "1.0.0",
|
|
9404
|
-
description: "Validate up to 10 email addresses in a single POST request. Each email is processed independently. Returns an array of validation results with deliverability assessment per email, plus per-item error objects for failed validations. Maximum 10 email addresses per request.",
|
|
9404
|
+
description: "Validate up to 10 email addresses in a single POST request. Each email is processed independently. Returns an array of validation results with deliverability assessment per email (valid/accept_all/invalid/unknown/risky/app_server_blocked), plus per-item error objects for failed validations. Maximum 10 email addresses per request.",
|
|
9405
9405
|
contact: {
|
|
9406
9406
|
name: "APIFreaks Support",
|
|
9407
9407
|
url: "https://apifreaks.com/contact",
|
|
@@ -9453,7 +9453,7 @@ var bulk_email_validation_default = {
|
|
|
9453
9453
|
},
|
|
9454
9454
|
examples: {
|
|
9455
9455
|
bulkEmailsValidated: {
|
|
9456
|
-
summary: "Mix of
|
|
9456
|
+
summary: "Mix of valid, syntactically invalid, accept_all, null-MX invalid, and unknown (no-MX probe) results",
|
|
9457
9457
|
value: {
|
|
9458
9458
|
emailResponse: [
|
|
9459
9459
|
{
|
|
@@ -9492,6 +9492,74 @@ var bulk_email_validation_default = {
|
|
|
9492
9492
|
name: "not-an-email",
|
|
9493
9493
|
validDomain: false
|
|
9494
9494
|
}
|
|
9495
|
+
},
|
|
9496
|
+
{
|
|
9497
|
+
success: true,
|
|
9498
|
+
email: "random12345@yahoo.com",
|
|
9499
|
+
validEmail: "accept_all",
|
|
9500
|
+
validSyntax: true,
|
|
9501
|
+
reason: "domain accepts all addresses.",
|
|
9502
|
+
domain: {
|
|
9503
|
+
name: "yahoo.com",
|
|
9504
|
+
disposable: false,
|
|
9505
|
+
spam: false,
|
|
9506
|
+
free: true,
|
|
9507
|
+
validDomain: true,
|
|
9508
|
+
catchAll: true
|
|
9509
|
+
},
|
|
9510
|
+
account: {
|
|
9511
|
+
role: false,
|
|
9512
|
+
fullMailBox: false
|
|
9513
|
+
},
|
|
9514
|
+
dns: {
|
|
9515
|
+
mxRecord: [
|
|
9516
|
+
"mta5.am0.yahoodns.net.",
|
|
9517
|
+
"mta6.am0.yahoodns.net.",
|
|
9518
|
+
"mta7.am0.yahoodns.net."
|
|
9519
|
+
]
|
|
9520
|
+
}
|
|
9521
|
+
},
|
|
9522
|
+
{
|
|
9523
|
+
success: true,
|
|
9524
|
+
email: "test@example.com",
|
|
9525
|
+
validEmail: "invalid",
|
|
9526
|
+
validSyntax: true,
|
|
9527
|
+
reason: "domain does not accept mail.",
|
|
9528
|
+
domain: {
|
|
9529
|
+
name: "example.com",
|
|
9530
|
+
disposable: true,
|
|
9531
|
+
spam: false,
|
|
9532
|
+
free: false,
|
|
9533
|
+
validDomain: true,
|
|
9534
|
+
catchAll: false
|
|
9535
|
+
},
|
|
9536
|
+
account: {
|
|
9537
|
+
role: false
|
|
9538
|
+
},
|
|
9539
|
+
dns: {
|
|
9540
|
+
mxRecord: ["."]
|
|
9541
|
+
}
|
|
9542
|
+
},
|
|
9543
|
+
{
|
|
9544
|
+
success: true,
|
|
9545
|
+
email: "test@neverssl.com",
|
|
9546
|
+
validEmail: "unknown",
|
|
9547
|
+
validSyntax: true,
|
|
9548
|
+
reason: "We are unable to determine if email is valid or invalid.",
|
|
9549
|
+
domain: {
|
|
9550
|
+
name: "neverssl.com",
|
|
9551
|
+
disposable: false,
|
|
9552
|
+
spam: false,
|
|
9553
|
+
free: false,
|
|
9554
|
+
validDomain: true,
|
|
9555
|
+
catchAll: false
|
|
9556
|
+
},
|
|
9557
|
+
account: {
|
|
9558
|
+
role: false
|
|
9559
|
+
},
|
|
9560
|
+
dns: {
|
|
9561
|
+
aRecord: ["34.223.124.45"]
|
|
9562
|
+
}
|
|
9495
9563
|
}
|
|
9496
9564
|
]
|
|
9497
9565
|
}
|
|
@@ -9696,19 +9764,20 @@ var bulk_email_validation_default = {
|
|
|
9696
9764
|
},
|
|
9697
9765
|
reason: {
|
|
9698
9766
|
type: "string",
|
|
9699
|
-
description: "Detailed explanation returned when validEmail is not valid."
|
|
9767
|
+
description: "Detailed explanation returned when validEmail is not valid. Omitted entirely when validEmail is valid."
|
|
9700
9768
|
},
|
|
9701
9769
|
validEmail: {
|
|
9702
9770
|
type: "string",
|
|
9703
9771
|
enum: [
|
|
9704
9772
|
"valid",
|
|
9773
|
+
"accept_all",
|
|
9705
9774
|
"invalid",
|
|
9706
9775
|
"INVALID_EMAIL",
|
|
9707
9776
|
"unknown",
|
|
9708
9777
|
"risky",
|
|
9709
9778
|
"app_server_blocked"
|
|
9710
9779
|
],
|
|
9711
|
-
description: "Comprehensive deliverability assessment.
|
|
9780
|
+
description: "Comprehensive deliverability assessment. valid: recipient confirmed deliverable, reason omitted. accept_all: the domain is catch-all and accepted the recipient, so this specific mailbox is unconfirmed \u2014 see domain.catchAll, reason 'domain accepts all addresses.'. invalid: rejected mailbox, syntax failure, or the domain accepts no mail at all (a null MX). unknown: no conclusive answer, most common for domains with no MX record that only get a probe against their address record. risky: mailbox exists but over quota, or the server deferred with a greylist response. app_server_blocked: our verifier IP was blocked by the receiving server. Casing is inconsistent in the live API: syntactically invalid addresses can return the raw enum name INVALID_EMAIL instead of lowercase invalid \u2014 this is a known API bug, handle it defensively as equivalent to invalid."
|
|
9712
9781
|
},
|
|
9713
9782
|
validSyntax: {
|
|
9714
9783
|
type: "boolean",
|
|
@@ -9760,7 +9829,7 @@ var bulk_email_validation_default = {
|
|
|
9760
9829
|
},
|
|
9761
9830
|
catchAll: {
|
|
9762
9831
|
type: "boolean",
|
|
9763
|
-
description: "Detection flag for domains configured to accept mail for any recipient address."
|
|
9832
|
+
description: "Detection flag for domains configured to accept mail for any recipient address. true always corresponds to a top-level validEmail of accept_all."
|
|
9764
9833
|
}
|
|
9765
9834
|
},
|
|
9766
9835
|
description: "Domain validation details for the email address."
|
|
@@ -9782,24 +9851,24 @@ var bulk_email_validation_default = {
|
|
|
9782
9851
|
},
|
|
9783
9852
|
DnsObject: {
|
|
9784
9853
|
type: "object",
|
|
9785
|
-
required: [
|
|
9854
|
+
required: [],
|
|
9786
9855
|
properties: {
|
|
9787
9856
|
mxRecord: {
|
|
9788
9857
|
type: "array",
|
|
9789
9858
|
items: {
|
|
9790
9859
|
type: "string"
|
|
9791
9860
|
},
|
|
9792
|
-
description:
|
|
9861
|
+
description: `Every MX hostname at the domain's lowest preference (not just one). ["."] means the domain publishes a null MX and accepts no mail at all. Absent entirely when the domain has no MX record of any kind \u2014 check aRecord in that case.`
|
|
9793
9862
|
},
|
|
9794
9863
|
aRecord: {
|
|
9795
9864
|
type: "array",
|
|
9796
9865
|
items: {
|
|
9797
9866
|
type: "string"
|
|
9798
9867
|
},
|
|
9799
|
-
description: "Collection of A (Address) records for the domain.
|
|
9868
|
+
description: "Collection of A (Address) records for the domain. Present when the domain has no MX record but does resolve to a web server or other host."
|
|
9800
9869
|
}
|
|
9801
9870
|
},
|
|
9802
|
-
description: "DNS records for the email domain."
|
|
9871
|
+
description: "DNS records for the email domain. Absent entirely when the domain publishes neither an MX nor an A record."
|
|
9803
9872
|
},
|
|
9804
9873
|
AddressObject: {
|
|
9805
9874
|
type: "object",
|
|
@@ -10042,7 +10111,7 @@ var email_checker_default = {
|
|
|
10042
10111
|
info: {
|
|
10043
10112
|
title: "Email Checker API - Real-Time Validation, Deliverability & Risk Signals",
|
|
10044
10113
|
version: "1.0.0",
|
|
10045
|
-
description: "Validate a single email address and receive comprehensive results including syntax validation, domain verification, account detection, DNS records (MX and A records), and optional IP-based geolocation and security enrichment. Returns deliverability assessment with valid/invalid/unknown/risky/app_server_blocked status.",
|
|
10114
|
+
description: "Validate a single email address and receive comprehensive results including syntax validation, domain verification, account detection, DNS records (MX and A records), and optional IP-based geolocation and security enrichment. Returns deliverability assessment with valid/accept_all/invalid/unknown/risky/app_server_blocked status.",
|
|
10046
10115
|
contact: {
|
|
10047
10116
|
name: "APIFreaks Support",
|
|
10048
10117
|
url: "https://apifreaks.com/contact",
|
|
@@ -10135,8 +10204,8 @@ var email_checker_default = {
|
|
|
10135
10204
|
}
|
|
10136
10205
|
}
|
|
10137
10206
|
},
|
|
10138
|
-
|
|
10139
|
-
summary: "Valid syntax, domain
|
|
10207
|
+
nonexistentDomain: {
|
|
10208
|
+
summary: "Valid syntax, domain does not exist (NXDOMAIN)",
|
|
10140
10209
|
value: {
|
|
10141
10210
|
success: true,
|
|
10142
10211
|
email: "test@nonexistentdomainxyz123abc.com",
|
|
@@ -10156,6 +10225,83 @@ var email_checker_default = {
|
|
|
10156
10225
|
}
|
|
10157
10226
|
}
|
|
10158
10227
|
},
|
|
10228
|
+
acceptAll: {
|
|
10229
|
+
summary: "Catch-all domain accepted the recipient \u2014 mailbox unconfirmed",
|
|
10230
|
+
value: {
|
|
10231
|
+
success: true,
|
|
10232
|
+
email: "random12345@yahoo.com",
|
|
10233
|
+
validEmail: "accept_all",
|
|
10234
|
+
validSyntax: true,
|
|
10235
|
+
reason: "domain accepts all addresses.",
|
|
10236
|
+
domain: {
|
|
10237
|
+
name: "yahoo.com",
|
|
10238
|
+
disposable: false,
|
|
10239
|
+
spam: false,
|
|
10240
|
+
free: true,
|
|
10241
|
+
validDomain: true,
|
|
10242
|
+
catchAll: true
|
|
10243
|
+
},
|
|
10244
|
+
account: {
|
|
10245
|
+
role: false,
|
|
10246
|
+
fullMailBox: false
|
|
10247
|
+
},
|
|
10248
|
+
dns: {
|
|
10249
|
+
mxRecord: [
|
|
10250
|
+
"mta5.am0.yahoodns.net.",
|
|
10251
|
+
"mta6.am0.yahoodns.net.",
|
|
10252
|
+
"mta7.am0.yahoodns.net."
|
|
10253
|
+
]
|
|
10254
|
+
}
|
|
10255
|
+
}
|
|
10256
|
+
},
|
|
10257
|
+
nullMxDomain: {
|
|
10258
|
+
summary: 'Domain publishes a null MX (single ".") \u2014 accepts no mail at all',
|
|
10259
|
+
value: {
|
|
10260
|
+
success: true,
|
|
10261
|
+
email: "test@example.com",
|
|
10262
|
+
validEmail: "invalid",
|
|
10263
|
+
validSyntax: true,
|
|
10264
|
+
reason: "domain does not accept mail.",
|
|
10265
|
+
domain: {
|
|
10266
|
+
name: "example.com",
|
|
10267
|
+
disposable: true,
|
|
10268
|
+
spam: false,
|
|
10269
|
+
free: false,
|
|
10270
|
+
validDomain: true,
|
|
10271
|
+
catchAll: false
|
|
10272
|
+
},
|
|
10273
|
+
account: {
|
|
10274
|
+
role: false
|
|
10275
|
+
},
|
|
10276
|
+
dns: {
|
|
10277
|
+
mxRecord: ["."]
|
|
10278
|
+
}
|
|
10279
|
+
}
|
|
10280
|
+
},
|
|
10281
|
+
noMxAddressOnly: {
|
|
10282
|
+
summary: "Domain has no MX record but a working A record \u2014 gets a real SMTP probe",
|
|
10283
|
+
value: {
|
|
10284
|
+
success: true,
|
|
10285
|
+
email: "test@neverssl.com",
|
|
10286
|
+
validEmail: "unknown",
|
|
10287
|
+
validSyntax: true,
|
|
10288
|
+
reason: "We are unable to determine if email is valid or invalid.",
|
|
10289
|
+
domain: {
|
|
10290
|
+
name: "neverssl.com",
|
|
10291
|
+
disposable: false,
|
|
10292
|
+
spam: false,
|
|
10293
|
+
free: false,
|
|
10294
|
+
validDomain: true,
|
|
10295
|
+
catchAll: false
|
|
10296
|
+
},
|
|
10297
|
+
account: {
|
|
10298
|
+
role: false
|
|
10299
|
+
},
|
|
10300
|
+
dns: {
|
|
10301
|
+
aRecord: ["34.223.124.45"]
|
|
10302
|
+
}
|
|
10303
|
+
}
|
|
10304
|
+
},
|
|
10159
10305
|
withIp: {
|
|
10160
10306
|
summary: "With ip \u2014 adds geolocation/security enrichment under address",
|
|
10161
10307
|
value: {
|
|
@@ -10426,12 +10572,12 @@ var email_checker_default = {
|
|
|
10426
10572
|
},
|
|
10427
10573
|
reason: {
|
|
10428
10574
|
type: "string",
|
|
10429
|
-
description: "Detailed explanation returned when validEmail is not valid."
|
|
10575
|
+
description: "Detailed explanation returned when validEmail is not valid. Omitted entirely when validEmail is valid."
|
|
10430
10576
|
},
|
|
10431
10577
|
validEmail: {
|
|
10432
10578
|
type: "string",
|
|
10433
|
-
enum: ["valid", "invalid", "INVALID_EMAIL", "unknown", "risky", "app_server_blocked"],
|
|
10434
|
-
description: "Comprehensive deliverability assessment.
|
|
10579
|
+
enum: ["valid", "accept_all", "invalid", "INVALID_EMAIL", "unknown", "risky", "app_server_blocked"],
|
|
10580
|
+
description: "Comprehensive deliverability assessment. valid: recipient confirmed deliverable, reason omitted. accept_all: the domain is catch-all and accepted the recipient, so this specific mailbox is unconfirmed \u2014 see domain.catchAll, reason 'domain accepts all addresses.'. invalid: rejected mailbox, syntax failure, or the domain accepts no mail at all (a null MX). unknown: no conclusive answer, most common for domains with no MX record that only get a probe against their address record. risky: mailbox exists but over quota, or the server deferred with a greylist response. app_server_blocked: our verifier IP was blocked by the receiving server. Casing is inconsistent in the live API: syntactically invalid addresses can return the raw enum name INVALID_EMAIL instead of lowercase invalid \u2014 this is a known API bug, handle it defensively as equivalent to invalid."
|
|
10435
10581
|
},
|
|
10436
10582
|
validSyntax: {
|
|
10437
10583
|
type: "boolean",
|
|
@@ -10483,7 +10629,7 @@ var email_checker_default = {
|
|
|
10483
10629
|
},
|
|
10484
10630
|
catchAll: {
|
|
10485
10631
|
type: "boolean",
|
|
10486
|
-
description: "Detection flag for domains configured to accept mail for any recipient address."
|
|
10632
|
+
description: "Detection flag for domains configured to accept mail for any recipient address. true always corresponds to a top-level validEmail of accept_all."
|
|
10487
10633
|
}
|
|
10488
10634
|
},
|
|
10489
10635
|
description: "Domain validation details for the email address."
|
|
@@ -10505,24 +10651,24 @@ var email_checker_default = {
|
|
|
10505
10651
|
},
|
|
10506
10652
|
DnsObject: {
|
|
10507
10653
|
type: "object",
|
|
10508
|
-
required: [
|
|
10654
|
+
required: [],
|
|
10509
10655
|
properties: {
|
|
10510
10656
|
mxRecord: {
|
|
10511
10657
|
type: "array",
|
|
10512
10658
|
items: {
|
|
10513
10659
|
type: "string"
|
|
10514
10660
|
},
|
|
10515
|
-
description:
|
|
10661
|
+
description: `Every MX hostname at the domain's lowest preference (not just one). ["."] means the domain publishes a null MX and accepts no mail at all. Absent entirely when the domain has no MX record of any kind \u2014 check aRecord in that case.`
|
|
10516
10662
|
},
|
|
10517
10663
|
aRecord: {
|
|
10518
10664
|
type: "array",
|
|
10519
10665
|
items: {
|
|
10520
10666
|
type: "string"
|
|
10521
10667
|
},
|
|
10522
|
-
description: "Collection of A (Address) records for the domain.
|
|
10668
|
+
description: "Collection of A (Address) records for the domain. Present when the domain has no MX record but does resolve to a web server or other host."
|
|
10523
10669
|
}
|
|
10524
10670
|
},
|
|
10525
|
-
description: "DNS records for the email domain."
|
|
10671
|
+
description: "DNS records for the email domain. Absent entirely when the domain publishes neither an MX nor an A record."
|
|
10526
10672
|
},
|
|
10527
10673
|
AddressObject: {
|
|
10528
10674
|
type: "object",
|
|
@@ -52873,8 +53019,605 @@ security:
|
|
|
52873
53019
|
- ApiKeyAuthQuery: []
|
|
52874
53020
|
`,
|
|
52875
53021
|
"subdomain-lookup": "openapi: 3.1.1\ninfo:\n title: Subdomain Finder API - Discover Active, Inactive & Historical Subdomains\n version: 1.0.0\n description: Retrieve subdomains related to a given domain name. Returns paginated results with subdomain details including first seen and last seen dates. Supports filtering by date range, status (active/inactive), and pagination with configurable page numbers.\n contact:\n name: APIFreaks Support\n url: https://apifreaks.com/contact\n email: support@apifreaks.com\nservers:\n - url: https://api.apifreaks.com/v1.0\n description: Subdomain Lookup API Server\npaths:\n /subdomains/lookup:\n get:\n tags:\n - Domain APIs\n summary: Get subdomains related to the given domain name.\n description: The Subdomain Lookup API is designed to retrieve subdomains related to the given domain name. It helps you explore subdomains that are available for registration or usage.\n parameters:\n - name: format\n in: query\n required: false\n schema:\n type: string\n enum:\n - json\n - xml\n default: json\n description: Format of the response.\n - name: domain\n in: query\n required: true\n schema:\n type: string\n description: Domain name for availability and suggestions.\n - name: after\n in: query\n required: false\n schema:\n type: string\n format: date\n description: Filter subdomains seen after this date (format YYYY-MM-DD).\n - name: before\n in: query\n required: false\n schema:\n type: string\n format: date\n description: Filter subdomains seen before this date( format YYYY-MM-DD).\n - name: status\n in: query\n required: false\n schema:\n type: string\n enum:\n - active\n - inactive\n default: active\n description: Filter subdomains by status (active or inactive).\n - name: page\n in: query\n required: false\n schema:\n type: integer\n default: 1\n description: Page number for paginated results.\n responses:\n '200':\n description: Success\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/SubDomainResponse'\n examples:\n success:\n summary: Successful response\n value:\n domain: google.com\n status: true\n query_time: '2026-07-27T12:22:26.954268895'\n current_page: 1\n total_pages: 1543\n total_records: 154233\n subdomains:\n - subdomain: 49qq1sm.sites.google.com\n first_seen: '2024-03-03'\n last_seen: '2026-06-18'\n - subdomain: tvgkp5.feedproxy.ghs.google.com\n last_seen: '2026-07-04'\n - subdomain: www.reusablesec.sites.google.com\n first_seen: '2020-02-18'\n last_seen: '2026-06-20'\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '400':\n description: Bad Request \u2013 one or more parameters are invalid\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n missingDomain:\n summary: Missing required domain parameter\n value:\n error: Invalid Param Exception\n message: please pass correct parameters\n path: /v1.0/subdomains/lookup\n status: 400\n timestamp: '2026-07-27T12:22:27.587Z'\n invalidDomain:\n summary: domain is not a syntactically valid domain name\n value:\n timestamp: '2026-07-27T12:22:40.119716922Z'\n status: 400\n error: Invalid Param Exception\n message: 'Please pass domain param correct value[For Technical Support: support@whoisfreaks.com]'\n path: /v1.0/subdomains\n AfterDateError:\n summary: after is not earlier than before\n value:\n timestamp: '2026-07-27T12:22:28.233751455Z'\n status: 400\n error: Invalid Param Exception\n message: after date must be earlier than before date.\n path: /v1.0/subdomains\n AfterDateGreaterThanCurrent:\n summary: after is in the future\n value:\n timestamp: '2026-07-27T12:22:39.061042798Z'\n status: 400\n error: Invalid Param Exception\n message: after date cannot be greater than the current date.\n path: /v1.0/subdomains\n BeforeDateGreaterThanCurrent:\n summary: before is in the future\n value:\n timestamp: '2026-07-27T12:22:39.609545647Z'\n status: 400\n error: Invalid Param Exception\n message: before date cannot be greater than the current date.\n path: /v1.0/subdomains\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '408':\n description: Request Timeout \u2013 Unable to fetch WHOIS data\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n error:\n summary: Error response\n value:\n timestamp: '2025-08-14T10:37:21.871Z'\n status: 408\n error: Request Timeout\n message: 'Unable to fetch whois data. Please try again. [For Technical Support email at: support@apifreaks.com]'\n path: /v1.0/subdomains/lookup\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n operationId: lookupSubdomains\ncomponents:\n securitySchemes:\n ApiKeyAuthHeader:\n type: apiKey\n in: header\n name: X-apiKey\n description: Pass your API key via the X-apiKey request header.\n ApiKeyAuthQuery:\n type: apiKey\n in: query\n name: apiKey\n description: Pass your API key via the apiKey query parameter.\n schemas:\n SubDomainResponse:\n type: object\n required:\n - domain\n - status\n - query_time\n - current_page\n - total_pages\n - total_records\n - subdomains\n properties:\n domain:\n type: string\n description: The domain name for which subdomains are retrieved.\n status:\n type: boolean\n description: Indicates whether the request was successfully processed or not.\n query_time:\n type: string\n description: Timestamp showing when the API request was executed.\n current_page:\n type: integer\n description: The current page number of the paginated response.\n total_pages:\n type: integer\n description: Total number of pages available for the given query. Each page has 100 subdomain entries.\n total_records:\n type: integer\n description: Total number of subdomains found for the domain.\n subdomains:\n type: array\n description: Returns an array of subdomain objects. Each object contains detailed information about an individual subdomain.\n items:\n $ref: '#/components/schemas/SubdomainItem'\n description: Subdomain lookup response containing paginated subdomain results.\n SubdomainItem:\n type: object\n description: A single subdomain record with discovery dates.\n required:\n - subdomain\n - last_seen\n properties:\n subdomain:\n type: string\n description: The discovered subdomain associated with the given domain.\n first_seen:\n type: string\n format: date\n description: The date when the subdomain was first discovered. Can be absent for some records.\n last_seen:\n type: string\n format: date\n description: The most recent date when the subdomain was observed.\n inactive_from:\n type: string\n format: date\n description: The date from which the subdomain is considered inactive. Appears only if inactive.\n ErrorResponse:\n type: object\n description: Standard error envelope returned by the API on failed requests.\n required:\n - message\n properties:\n error:\n type: string\n description: Short error category or exception type.\n message:\n type: string\n description: Human-readable error message describing the failure.\n path:\n type: string\n description: API endpoint path that produced the error.\n status:\n type: integer\n description: HTTP status code returned with the error.\n timestamp:\n type: string\n format: date-time\n description: Timestamp when the error occurred (ISO 8601).\n headers:\n X-AF-Credits-Cost:\n description: Specifies the number of credits consumed by the current request.\n schema:\n type: integer\nsecurity:\n - ApiKeyAuthHeader: []\n - ApiKeyAuthQuery: []\n",
|
|
52876
|
-
"bulk-email-validation": "openapi: 3.1.1\ninfo:\n title: Bulk Email Validation API - Validate and Verify Emails in Bulk\n version: 1.0.0\n description: Validate up to 10 email addresses in a single POST request. Each email is processed independently. Returns an array of validation results with deliverability assessment per email, plus per-item error objects for failed validations. Maximum 10 email addresses per request.\n contact:\n name: APIFreaks Support\n url: https://apifreaks.com/contact\n email: support@apifreaks.com\nservers:\n - url: https://api.apifreaks.com/v1.0\n description: Bulk Email Validation API Server\npaths:\n /email-validation/bulk:\n post:\n tags:\n - Email Validation APIs\n summary: Validate multiple email addresses\n description: Validates a bulk of email addresses and returns result for each. Maximum `10` email addresses per request.\n parameters:\n - name: format\n in: query\n required: false\n schema:\n type: string\n enum:\n - json\n - xml\n default: json\n description: Format of the response\n requestBody:\n required: true\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/BulkEmailRequest'\n responses:\n '200':\n description: Successful response. Each item corresponds to one requested email, in the same order as the request; invalid emails are reflected via validEmail/validSyntax on that item, not as a separate error object \u2014 every item has success=true regardless of validation outcome.\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/BulkEmailValidationResponse'\n examples:\n bulkEmailsValidated:\n summary: Mix of a valid and a syntactically invalid email\n value:\n emailResponse:\n - success: true\n email: abc.def@gmail.com\n validEmail: valid\n validSyntax: true\n domain:\n name: gmail.com\n disposable: false\n spam: false\n free: true\n validDomain: true\n catchAll: false\n account:\n role: false\n fullMailBox: false\n dns:\n mxRecord:\n - gmail-smtp-in.l.google.com.\n - alt1.gmail-smtp-in.l.google.com.\n - alt2.gmail-smtp-in.l.google.com.\n - alt3.gmail-smtp-in.l.google.com.\n - alt4.gmail-smtp-in.l.google.com.\n - success: true\n email: not-an-email\n validEmail: INVALID_EMAIL\n validSyntax: false\n domain:\n name: not-an-email\n validDomain: false\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n X-Concurrent-Threads:\n $ref: '#/components/headers/X-Concurrent-Threads'\n X-Concurrent-Threads-Active:\n $ref: '#/components/headers/X-Concurrent-Threads-Active'\n '400':\n description: Bad Request \u2013 Invalid request body\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n invalidBody:\n summary: emailData field missing or malformed\n value:\n timestamp: '2026-07-27T12:53:14.628Z'\n path: /v1.0/email-validation/bulk\n status: 400\n error: Invalid request body Exception\n message: Please provide data in required format in request body\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '404':\n description: Not Found \u2013 The requested resource could not be found\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Resource Not Found:\n value:\n timestamp: '2026-09-02T11:57:55.592Z'\n path: /v1.0/email-validation/bulkx\n status: 404\n error: Resource Not Found\n message: The requested resource could not be found. Please verify the URL and try again.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '408':\n description: Request Timeout\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Request Timeout:\n value:\n timestamp: '2026-06-06T13:00:00.000Z'\n path: /v1.0/email-validation/bulk\n status: 408\n error: Request Timeout\n message: Timed out while connecting to the remote URL.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '413':\n description: Payload Too Large \u2013 emailData exceeds the maximum of 10 entries per request\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Payload Too Large:\n value:\n timestamp: '2026-09-02T11:57:34.223Z'\n path: /v2/email-validation/bulk\n status: 413\n error: Payload too large Exception\n message: Maximum request body size limit exceeded\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '429':\n description: Rate Limit Exceeded\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Rate Limit Exceeded:\n value:\n timestamp: '2026-06-06T13:00:00.000Z'\n path: /v1.0/email-validation/bulk\n status: 429\n error: Too Many Requests\n message: API rate limit exceeded.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n operationId: bulkCheckEmail\ncomponents:\n securitySchemes:\n ApiKeyAuthHeader:\n type: apiKey\n in: header\n name: X-apiKey\n description: Pass your API key via the X-apiKey request header.\n ApiKeyAuthQuery:\n type: apiKey\n in: query\n name: apiKey\n description: Pass your API key via the apiKey query parameter.\n schemas:\n BulkEmailValidationResponse:\n type: object\n description: Wrapper containing the per-email results array.\n required:\n - emailResponse\n properties:\n emailResponse:\n type: array\n description: Array of per-email results, one entry per requested email, in the same order as the request. Invalid emails are reflected via validEmail/validSyntax, not a separate error shape.\n items:\n $ref: '#/components/schemas/SingleEmailValidationResponse'\n SingleEmailValidationResponse:\n type: object\n required:\n - success\n - email\n - validEmail\n - validSyntax\n - domain\n properties:\n success:\n type: boolean\n description: 'Indicates the processing status of the validation request. true: completed successfully.'\n email:\n type: string\n format: email\n description: The email address submitted for validation.\n name:\n type: string\n description: Optional identifier or label provided in the request for record tracking.\n reason:\n type: string\n description: Detailed explanation returned when validEmail is not valid.\n validEmail:\n type: string\n enum:\n - valid\n - invalid\n - INVALID_EMAIL\n - unknown\n - risky\n - app_server_blocked\n description: 'Comprehensive deliverability assessment. Casing is inconsistent in the live API: syntactically invalid addresses return INVALID_EMAIL, while semantically invalid (undeliverable) addresses return lowercase invalid. risky is a documented possibility not observed during testing. app_server_blocked is returned when the recipient mail server blocked the live verification attempt (reason explains that retrying later may succeed).'\n validSyntax:\n type: boolean\n description: Validates email address format compliance with RFC 5322 standards.\n domain:\n $ref: '#/components/schemas/DomainObject'\n account:\n $ref: '#/components/schemas/AccountObject'\n dns:\n $ref: '#/components/schemas/DnsObject'\n address:\n $ref: '#/components/schemas/AddressObject'\n ip:\n type: string\n format: ip\n description: IP address provided for geolocation and security enrichment.\n description: Email validation response containing deliverability assessment and metadata.\n DomainObject:\n type: object\n required:\n - name\n - validDomain\n properties:\n name:\n type: string\n description: Extracted domain component from the email address.\n validDomain:\n type: boolean\n description: Domain validation status confirming DNS resolution capability.\n disposable:\n type: boolean\n description: Classification flag identifying domains from temporary email service providers.\n spam:\n type: boolean\n description: Reputation indicator flagging domains on spam databases.\n free:\n type: boolean\n description: Classification indicating free or consumer-grade email service providers.\n catchAll:\n type: boolean\n description: Detection flag for domains configured to accept mail for any recipient address.\n description: Domain validation details for the email address.\n AccountObject:\n type: object\n required:\n - role\n properties:\n role:\n type: boolean\n description: Detection flag identifying role-based email addresses (e.g., admin@, support@).\n fullMailBox:\n type: boolean\n description: Storage capacity status indicator for the recipient mailbox.\n description: Account-level validation details.\n DnsObject:\n type: object\n required:\n - mxRecord\n properties:\n mxRecord:\n type: array\n items:\n type: string\n description: Collection of MX (Mail Exchange) hostname records from DNS queries.\n aRecord:\n type: array\n items:\n type: string\n description: Collection of A (Address) records for the domain. Not observed in testing \u2014 may be rarely or never populated.\n description: DNS records for the email domain.\n AddressObject:\n type: object\n properties:\n validIpAddress:\n type: boolean\n description: IP recognized/reachable by the geolocation provider.\n location:\n $ref: '#/components/schemas/EmailLocation'\n security:\n $ref: '#/components/schemas/EmailSecurity'\n description: Geolocation and security enrichment data for the IP address.\n required: []\n EmailLocation:\n type: object\n description: Geolocation data derived from the IP address.\n properties:\n city:\n type: string\n description: Municipal or city name.\n district:\n type: string\n description: District or neighborhood.\n zipcode:\n type: string\n description: Postal or ZIP code.\n state_prov:\n type: string\n description: State or province.\n country_name:\n type: string\n description: Common country name.\n country_name_official:\n type: string\n description: Official country name.\n country_code2:\n type: string\n description: Two-character ISO country code.\n country_code3:\n type: string\n description: Three-character ISO country code.\n continent_name:\n type: string\n description: Continental region name.\n continent_code:\n type: string\n description: Continental region identifier.\n accuracy_radius:\n type: string\n description: Geolocation precision radius.\n confidence:\n type: string\n description: Confidence score for geolocation accuracy.\n is_eu:\n type: boolean\n description: European Union membership status.\n required: []\n EmailSecurity:\n type: object\n description: Threat and anonymity profile for the IP address.\n required:\n - threat_score\n - is_tor\n - is_proxy\n - proxy_type\n - proxy_provider\n - is_anonymous\n - is_known_attacker\n - is_spam\n - is_bot\n - is_cloud_provider\n - cloud_provider\n properties:\n threat_score:\n type: integer\n description: Quantitative risk assessment score. Higher values indicate elevated security risk.\n is_tor:\n type: boolean\n description: Detection flag for IP addresses routed through the Tor anonymity network.\n is_proxy:\n type: boolean\n description: Detection flag identifying IP addresses operating as proxy servers.\n proxy_type:\n type: string\n description: Classification of detected proxy infrastructure type (e.g. VPN, HTTP, SOCKS).\n proxy_provider:\n type: string\n description: Identified service provider operating the proxy infrastructure.\n is_anonymous:\n type: boolean\n description: Anonymization detection flag for IP addresses using identity obfuscation techniques.\n is_known_attacker:\n type: boolean\n description: Threat intelligence flag for IP addresses documented as confirmed malicious sources.\n is_spam:\n type: boolean\n description: Reputation flag for IP addresses associated with spam transmission.\n is_bot:\n type: boolean\n description: Automated traffic detection flag for IP addresses from bot networks.\n is_cloud_provider:\n type: boolean\n description: Infrastructure classification flag for IP addresses from cloud computing providers.\n cloud_provider:\n type: string\n description: Identified cloud infrastructure or hosting service provider name.\n BulkEmailRequest:\n type: object\n description: Request body for bulk email validation.\n required:\n - emailData\n properties:\n emailData:\n type: array\n description: Array of email objects to validate. Maximum 10 per request.\n maxItems: 10\n items:\n $ref: '#/components/schemas/BulkEmailRequestItem'\n BulkEmailRequestItem:\n type: object\n description: A single email entry in a bulk validation request.\n required:\n - email\n properties:\n email:\n type: string\n format: email\n description: Email address to validate.\n name:\n type: string\n description: Optional name or label.\n ip:\n type: string\n format: ip\n description: Optional IP address for enrichment.\n ErrorResponse:\n type: object\n description: Standard error envelope returned by the API on failed requests.\n required:\n - message\n properties:\n error:\n type: string\n description: Short error category or exception type.\n message:\n type: string\n description: Human-readable error message describing the failure.\n path:\n type: string\n description: API endpoint path that produced the error.\n status:\n type: integer\n description: HTTP status code returned with the error.\n timestamp:\n type: string\n format: date-time\n description: Timestamp when the error occurred (ISO 8601).\n headers:\n X-AF-Credits-Cost:\n description: Specifies the number of credits consumed by the current request.\n schema:\n type: integer\n X-Concurrent-Threads:\n description: Specifies the maximum number of concurrent requests allowed.\n schema:\n type: integer\n X-Concurrent-Threads-Active:\n description: Indicates the number of active concurrent requests being processed.\n schema:\n type: integer\nsecurity:\n - ApiKeyAuthHeader: []\n - ApiKeyAuthQuery: []\n",
|
|
52877
|
-
"email-checker": "openapi: 3.1.1\ninfo:\n title: Email Checker API - Real-Time Validation, Deliverability & Risk Signals\n version: 1.0.0\n description: Validate a single email address and receive comprehensive results including syntax validation, domain verification, account detection, DNS records (MX and A records), and optional IP-based geolocation and security enrichment. Returns deliverability assessment with valid/invalid/unknown/risky/app_server_blocked status.\n contact:\n name: APIFreaks Support\n url: https://apifreaks.com/contact\n email: support@apifreaks.com\nservers:\n - url: https://api.apifreaks.com/v1.0\n description: Email Checker API Server\npaths:\n /email-validation/single:\n post:\n tags:\n - Email Validation APIs\n summary: Validate a single email\n description: Validates a single email address and returns result.\n parameters:\n - name: format\n in: query\n required: false\n schema:\n type: string\n enum:\n - json\n - xml\n description: Format of the response\n requestBody:\n required: true\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/EmailCheckRequest'\n responses:\n '200':\n description: Successful response with Email Validation\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/SingleEmailValidationResponse'\n examples:\n validEmail:\n summary: Valid, deliverable email\n value:\n success: true\n email: abc.def@gmail.com\n validEmail: valid\n validSyntax: true\n domain:\n name: gmail.com\n disposable: false\n spam: false\n free: true\n validDomain: true\n catchAll: false\n account:\n role: false\n fullMailBox: false\n dns:\n mxRecord:\n - gmail-smtp-in.l.google.com.\n - alt1.gmail-smtp-in.l.google.com.\n - alt2.gmail-smtp-in.l.google.com.\n - alt3.gmail-smtp-in.l.google.com.\n - alt4.gmail-smtp-in.l.google.com.\n invalidSyntax:\n summary: Syntactically invalid email \u2014 domain/account/dns are minimal or absent\n value:\n success: true\n email: not-an-email\n validEmail: INVALID_EMAIL\n validSyntax: false\n domain:\n name: not-an-email\n validDomain: false\n noMxRecord:\n summary: Valid syntax, domain has no MX record\n value:\n success: true\n email: test@nonexistentdomainxyz123abc.com\n validEmail: invalid\n validSyntax: true\n reason: mx record does not exist.\n domain:\n name: nonexistentdomainxyz123abc.com\n disposable: false\n spam: false\n free: false\n validDomain: false\n catchAll: false\n account:\n role: false\n withIp:\n summary: With ip \u2014 adds geolocation/security enrichment under address\n value:\n success: true\n email: abc.def@gmail.com\n validEmail: valid\n validSyntax: true\n domain:\n name: gmail.com\n disposable: false\n spam: false\n free: true\n validDomain: true\n catchAll: false\n account:\n role: false\n fullMailBox: false\n dns:\n mxRecord:\n - gmail-smtp-in.l.google.com.\n - alt1.gmail-smtp-in.l.google.com.\n - alt2.gmail-smtp-in.l.google.com.\n - alt3.gmail-smtp-in.l.google.com.\n - alt4.gmail-smtp-in.l.google.com.\n ip: 8.8.8.8\n address:\n validIpAddress: true\n location:\n city: Mountain View\n district: Santa Clara\n confidence: low\n zipcode: 94043-1351\n state_prov: California\n country_name: United States\n continent_name: North America\n continent_code: NA\n country_code2: US\n country_code3: USA\n country_name_official: United States of America\n accuracy_radius: '27.42'\n is_eu: false\n security:\n threat_score: 5\n is_tor: false\n is_proxy: false\n proxy_type: ''\n proxy_provider: ''\n is_anonymous: false\n is_known_attacker: false\n is_spam: false\n is_bot: false\n is_cloud_provider: true\n cloud_provider: Google LLC\n appServerBlocked:\n summary: Valid syntax, but the recipient mail server blocked the verification attempt\n value:\n success: true\n email: randomuser98765zzz@gmx.com\n validEmail: app_server_blocked\n validSyntax: true\n reason: We are unable to determine the validity of email at the moment. Please try later.\n domain:\n name: gmx.com\n disposable: false\n spam: false\n free: true\n validDomain: true\n catchAll: false\n account:\n role: false\n dns:\n mxRecord:\n - mx00.gmx.net.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n X-Concurrent-Threads:\n $ref: '#/components/headers/X-Concurrent-Threads'\n X-Concurrent-Threads-Active:\n $ref: '#/components/headers/X-Concurrent-Threads-Active'\n '400':\n description: Bad Request \u2013 Invalid request body\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n missingEmail:\n summary: email field missing from request body\n value:\n timestamp: '2026-09-02T11:56:23.462Z'\n path: /v2/email-validation/single\n status: 400\n error: Missing or Invalid Parameters\n message: Please pass valid value for 'email' in body.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n X-Concurrent-Threads:\n $ref: '#/components/headers/X-Concurrent-Threads'\n X-Concurrent-Threads-Active:\n $ref: '#/components/headers/X-Concurrent-Threads-Active'\n '404':\n description: Not Found \u2013 The requested resource could not be found\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Resource Not Found:\n value:\n timestamp: '2026-09-02T11:56:23.937Z'\n path: /v1.0/email-validation/singlex\n status: 404\n error: Resource Not Found\n message: The requested resource could not be found. Please verify the URL and try again.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n X-Concurrent-Threads:\n $ref: '#/components/headers/X-Concurrent-Threads'\n X-Concurrent-Threads-Active:\n $ref: '#/components/headers/X-Concurrent-Threads-Active'\n '408':\n description: Request Timeout\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Request Timeout:\n value:\n timestamp: '2026-06-06T13:00:00.000Z'\n path: /v1.0/email-validation/single\n status: 408\n error: Request Timeout\n message: Timed out while connecting to the remote URL.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n X-Concurrent-Threads:\n $ref: '#/components/headers/X-Concurrent-Threads'\n X-Concurrent-Threads-Active:\n $ref: '#/components/headers/X-Concurrent-Threads-Active'\n '429':\n description: Rate Limit Exceeded\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Rate Limit Exceeded:\n value:\n timestamp: '2026-06-06T13:00:00.000Z'\n path: /v1.0/email-validation/single\n status: 429\n error: Too Many Requests\n message: API rate limit exceeded.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n X-Concurrent-Threads:\n $ref: '#/components/headers/X-Concurrent-Threads'\n X-Concurrent-Threads-Active:\n $ref: '#/components/headers/X-Concurrent-Threads-Active'\n operationId: checkEmail\ncomponents:\n securitySchemes:\n ApiKeyAuthHeader:\n type: apiKey\n in: header\n name: X-apiKey\n description: Pass your API key via the X-apiKey request header.\n ApiKeyAuthQuery:\n type: apiKey\n in: query\n name: apiKey\n description: Pass your API key via the apiKey query parameter.\n schemas:\n SingleEmailValidationResponse:\n type: object\n required:\n - success\n - email\n - validEmail\n - validSyntax\n - domain\n properties:\n success:\n type: boolean\n description: 'Indicates the processing status of the validation request. true: completed successfully.'\n email:\n type: string\n format: email\n description: The email address submitted for validation.\n name:\n type: string\n description: Optional identifier or label provided in the request for record tracking.\n reason:\n type: string\n description: Detailed explanation returned when validEmail is not valid.\n validEmail:\n type: string\n enum:\n - valid\n - invalid\n - INVALID_EMAIL\n - unknown\n - risky\n - app_server_blocked\n description: 'Comprehensive deliverability assessment. Casing is inconsistent in the live API: syntactically invalid addresses return INVALID_EMAIL, while semantically invalid (undeliverable) addresses return lowercase invalid. risky is a documented possibility not observed during testing. app_server_blocked is returned when the recipient mail server blocked the live verification attempt (reason explains that retrying later may succeed).'\n validSyntax:\n type: boolean\n description: Validates email address format compliance with RFC 5322 standards.\n domain:\n $ref: '#/components/schemas/DomainObject'\n account:\n $ref: '#/components/schemas/AccountObject'\n dns:\n $ref: '#/components/schemas/DnsObject'\n address:\n $ref: '#/components/schemas/AddressObject'\n ip:\n type: string\n format: ip\n description: IP address provided for geolocation and security enrichment.\n description: Email validation response containing deliverability assessment and metadata.\n DomainObject:\n type: object\n required:\n - name\n - validDomain\n properties:\n name:\n type: string\n description: Extracted domain component from the email address.\n validDomain:\n type: boolean\n description: Domain validation status confirming DNS resolution capability.\n disposable:\n type: boolean\n description: Classification flag identifying domains from temporary email service providers.\n spam:\n type: boolean\n description: Reputation indicator flagging domains on spam databases.\n free:\n type: boolean\n description: Classification indicating free or consumer-grade email service providers.\n catchAll:\n type: boolean\n description: Detection flag for domains configured to accept mail for any recipient address.\n description: Domain validation details for the email address.\n AccountObject:\n type: object\n required:\n - role\n properties:\n role:\n type: boolean\n description: Detection flag identifying role-based email addresses (e.g., admin@, support@).\n fullMailBox:\n type: boolean\n description: Storage capacity status indicator for the recipient mailbox.\n description: Account-level validation details.\n DnsObject:\n type: object\n required:\n - mxRecord\n properties:\n mxRecord:\n type: array\n items:\n type: string\n description: Collection of MX (Mail Exchange) hostname records from DNS queries.\n aRecord:\n type: array\n items:\n type: string\n description: Collection of A (Address) records for the domain. Not observed in testing \u2014 may be rarely or never populated.\n description: DNS records for the email domain.\n AddressObject:\n type: object\n properties:\n validIpAddress:\n type: boolean\n description: IP recognized/reachable by the geolocation provider.\n location:\n $ref: '#/components/schemas/EmailLocation'\n security:\n $ref: '#/components/schemas/EmailSecurity'\n description: Geolocation and security enrichment data for the IP address.\n required: []\n EmailLocation:\n type: object\n description: Geolocation data derived from the IP address.\n properties:\n city:\n type: string\n description: Municipal or city name.\n district:\n type: string\n description: District or neighborhood.\n zipcode:\n type: string\n description: Postal or ZIP code.\n state_prov:\n type: string\n description: State or province.\n country_name:\n type: string\n description: Common country name.\n country_name_official:\n type: string\n description: Official country name.\n country_code2:\n type: string\n description: Two-character ISO country code.\n country_code3:\n type: string\n description: Three-character ISO country code.\n continent_name:\n type: string\n description: Continental region name.\n continent_code:\n type: string\n description: Continental region identifier.\n accuracy_radius:\n type: string\n description: Geolocation precision radius.\n confidence:\n type: string\n description: Confidence score for geolocation accuracy.\n is_eu:\n type: boolean\n description: European Union membership status.\n required: []\n EmailSecurity:\n type: object\n description: Threat and anonymity profile for the IP address.\n required:\n - threat_score\n - is_tor\n - is_proxy\n - proxy_type\n - proxy_provider\n - is_anonymous\n - is_known_attacker\n - is_spam\n - is_bot\n - is_cloud_provider\n - cloud_provider\n properties:\n threat_score:\n type: integer\n description: Quantitative risk assessment score. Higher values indicate elevated security risk.\n is_tor:\n type: boolean\n description: Detection flag for IP addresses routed through the Tor anonymity network.\n is_proxy:\n type: boolean\n description: Detection flag identifying IP addresses operating as proxy servers.\n proxy_type:\n type: string\n description: Classification of detected proxy infrastructure type (e.g. VPN, HTTP, SOCKS).\n proxy_provider:\n type: string\n description: Identified service provider operating the proxy infrastructure.\n is_anonymous:\n type: boolean\n description: Anonymization detection flag for IP addresses using identity obfuscation techniques.\n is_known_attacker:\n type: boolean\n description: Threat intelligence flag for IP addresses documented as confirmed malicious sources.\n is_spam:\n type: boolean\n description: Reputation flag for IP addresses associated with spam transmission.\n is_bot:\n type: boolean\n description: Automated traffic detection flag for IP addresses from bot networks.\n is_cloud_provider:\n type: boolean\n description: Infrastructure classification flag for IP addresses from cloud computing providers.\n cloud_provider:\n type: string\n description: Identified cloud infrastructure or hosting service provider name.\n EmailCheckRequest:\n type: object\n description: Request body for email validation.\n required:\n - email\n properties:\n email:\n type: string\n format: email\n description: Email address to validate.\n name:\n type: string\n description: Optional name or label for record tracking.\n ip:\n type: string\n format: ip\n description: Optional IP address for geolocation and security enrichment.\n ErrorResponse:\n type: object\n description: Standard error envelope returned by the API on failed requests.\n required:\n - message\n properties:\n error:\n type: string\n description: Short error category or exception type.\n message:\n type: string\n description: Human-readable error message describing the failure.\n path:\n type: string\n description: API endpoint path that produced the error.\n status:\n type: integer\n description: HTTP status code returned with the error.\n timestamp:\n type: string\n format: date-time\n description: Timestamp when the error occurred (ISO 8601).\n headers:\n X-AF-Credits-Cost:\n description: Specifies the number of credits consumed by the current request.\n schema:\n type: integer\n X-Concurrent-Threads:\n description: Specifies the maximum number of concurrent requests allowed.\n schema:\n type: integer\n X-Concurrent-Threads-Active:\n description: Indicates the number of active concurrent requests being processed.\n schema:\n type: integer\nsecurity:\n - ApiKeyAuthHeader: []\n - ApiKeyAuthQuery: []\n",
|
|
53022
|
+
"bulk-email-validation": "openapi: 3.1.1\ninfo:\n title: Bulk Email Validation API - Validate and Verify Emails in Bulk\n version: 1.0.0\n description: Validate up to 10 email addresses in a single POST request. Each email is processed independently. Returns an array of validation results with deliverability assessment per email (valid/accept_all/invalid/unknown/risky/app_server_blocked), plus per-item error objects for failed validations. Maximum 10 email addresses per request.\n contact:\n name: APIFreaks Support\n url: https://apifreaks.com/contact\n email: support@apifreaks.com\nservers:\n - url: https://api.apifreaks.com/v1.0\n description: Bulk Email Validation API Server\npaths:\n /email-validation/bulk:\n post:\n tags:\n - Email Validation APIs\n summary: Validate multiple email addresses\n description: Validates a bulk of email addresses and returns result for each. Maximum `10` email addresses per request.\n parameters:\n - name: format\n in: query\n required: false\n schema:\n type: string\n enum:\n - json\n - xml\n default: json\n description: Format of the response\n requestBody:\n required: true\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/BulkEmailRequest'\n responses:\n '200':\n description: Successful response. Each item corresponds to one requested email, in the same order as the request; invalid emails are reflected via validEmail/validSyntax on that item, not as a separate error object \u2014 every item has success=true regardless of validation outcome.\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/BulkEmailValidationResponse'\n examples:\n bulkEmailsValidated:\n summary: Mix of valid, syntactically invalid, accept_all, null-MX invalid, and unknown (no-MX probe) results\n value:\n emailResponse:\n - success: true\n email: abc.def@gmail.com\n validEmail: valid\n validSyntax: true\n domain:\n name: gmail.com\n disposable: false\n spam: false\n free: true\n validDomain: true\n catchAll: false\n account:\n role: false\n fullMailBox: false\n dns:\n mxRecord:\n - gmail-smtp-in.l.google.com.\n - alt1.gmail-smtp-in.l.google.com.\n - alt2.gmail-smtp-in.l.google.com.\n - alt3.gmail-smtp-in.l.google.com.\n - alt4.gmail-smtp-in.l.google.com.\n - success: true\n email: not-an-email\n validEmail: INVALID_EMAIL\n validSyntax: false\n domain:\n name: not-an-email\n validDomain: false\n - success: true\n email: random12345@yahoo.com\n validEmail: accept_all\n validSyntax: true\n reason: domain accepts all addresses.\n domain:\n name: yahoo.com\n disposable: false\n spam: false\n free: true\n validDomain: true\n catchAll: true\n account:\n role: false\n fullMailBox: false\n dns:\n mxRecord:\n - mta5.am0.yahoodns.net.\n - mta6.am0.yahoodns.net.\n - mta7.am0.yahoodns.net.\n - success: true\n email: test@example.com\n validEmail: invalid\n validSyntax: true\n reason: domain does not accept mail.\n domain:\n name: example.com\n disposable: true\n spam: false\n free: false\n validDomain: true\n catchAll: false\n account:\n role: false\n dns:\n mxRecord:\n - .\n - success: true\n email: test@neverssl.com\n validEmail: unknown\n validSyntax: true\n reason: We are unable to determine if email is valid or invalid.\n domain:\n name: neverssl.com\n disposable: false\n spam: false\n free: false\n validDomain: true\n catchAll: false\n account:\n role: false\n dns:\n aRecord:\n - 34.223.124.45\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n X-Concurrent-Threads:\n $ref: '#/components/headers/X-Concurrent-Threads'\n X-Concurrent-Threads-Active:\n $ref: '#/components/headers/X-Concurrent-Threads-Active'\n '400':\n description: Bad Request \u2013 Invalid request body\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n invalidBody:\n summary: emailData field missing or malformed\n value:\n timestamp: '2026-07-27T12:53:14.628Z'\n path: /v1.0/email-validation/bulk\n status: 400\n error: Invalid request body Exception\n message: Please provide data in required format in request body\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '404':\n description: Not Found \u2013 The requested resource could not be found\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Resource Not Found:\n value:\n timestamp: '2026-09-02T11:57:55.592Z'\n path: /v1.0/email-validation/bulkx\n status: 404\n error: Resource Not Found\n message: The requested resource could not be found. Please verify the URL and try again.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '408':\n description: Request Timeout\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Request Timeout:\n value:\n timestamp: '2026-06-06T13:00:00.000Z'\n path: /v1.0/email-validation/bulk\n status: 408\n error: Request Timeout\n message: Timed out while connecting to the remote URL.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '413':\n description: Payload Too Large \u2013 emailData exceeds the maximum of 10 entries per request\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Payload Too Large:\n value:\n timestamp: '2026-09-02T11:57:34.223Z'\n path: /v2/email-validation/bulk\n status: 413\n error: Payload too large Exception\n message: Maximum request body size limit exceeded\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '429':\n description: Rate Limit Exceeded\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n Rate Limit Exceeded:\n value:\n timestamp: '2026-06-06T13:00:00.000Z'\n path: /v1.0/email-validation/bulk\n status: 429\n error: Too Many Requests\n message: API rate limit exceeded.\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n operationId: bulkCheckEmail\ncomponents:\n securitySchemes:\n ApiKeyAuthHeader:\n type: apiKey\n in: header\n name: X-apiKey\n description: Pass your API key via the X-apiKey request header.\n ApiKeyAuthQuery:\n type: apiKey\n in: query\n name: apiKey\n description: Pass your API key via the apiKey query parameter.\n schemas:\n BulkEmailValidationResponse:\n type: object\n description: Wrapper containing the per-email results array.\n required:\n - emailResponse\n properties:\n emailResponse:\n type: array\n description: Array of per-email results, one entry per requested email, in the same order as the request. Invalid emails are reflected via validEmail/validSyntax, not a separate error shape.\n items:\n $ref: '#/components/schemas/SingleEmailValidationResponse'\n SingleEmailValidationResponse:\n type: object\n required:\n - success\n - email\n - validEmail\n - validSyntax\n - domain\n properties:\n success:\n type: boolean\n description: 'Indicates the processing status of the validation request. true: completed successfully.'\n email:\n type: string\n format: email\n description: The email address submitted for validation.\n name:\n type: string\n description: Optional identifier or label provided in the request for record tracking.\n reason:\n type: string\n description: Detailed explanation returned when validEmail is not valid. Omitted entirely when validEmail is valid.\n validEmail:\n type: string\n enum:\n - valid\n - accept_all\n - invalid\n - INVALID_EMAIL\n - unknown\n - risky\n - app_server_blocked\n description: 'Comprehensive deliverability assessment. valid: recipient confirmed deliverable, reason omitted. accept_all: the domain is catch-all and accepted the recipient, so this specific mailbox is unconfirmed \u2014 see domain.catchAll, reason ''domain accepts all addresses.''. invalid: rejected mailbox, syntax failure, or the domain accepts no mail at all (a null MX). unknown: no conclusive answer, most common for domains with no MX record that only get a probe against their address record. risky: mailbox exists but over quota, or the server deferred with a greylist response. app_server_blocked: our verifier IP was blocked by the receiving server. Casing is inconsistent in the live API: syntactically invalid addresses can return the raw enum name INVALID_EMAIL instead of lowercase invalid \u2014 this is a known API bug, handle it defensively as equivalent to invalid.'\n validSyntax:\n type: boolean\n description: Validates email address format compliance with RFC 5322 standards.\n domain:\n $ref: '#/components/schemas/DomainObject'\n account:\n $ref: '#/components/schemas/AccountObject'\n dns:\n $ref: '#/components/schemas/DnsObject'\n address:\n $ref: '#/components/schemas/AddressObject'\n ip:\n type: string\n format: ip\n description: IP address provided for geolocation and security enrichment.\n description: Email validation response containing deliverability assessment and metadata.\n DomainObject:\n type: object\n required:\n - name\n - validDomain\n properties:\n name:\n type: string\n description: Extracted domain component from the email address.\n validDomain:\n type: boolean\n description: Domain validation status confirming DNS resolution capability.\n disposable:\n type: boolean\n description: Classification flag identifying domains from temporary email service providers.\n spam:\n type: boolean\n description: Reputation indicator flagging domains on spam databases.\n free:\n type: boolean\n description: Classification indicating free or consumer-grade email service providers.\n catchAll:\n type: boolean\n description: Detection flag for domains configured to accept mail for any recipient address. true always corresponds to a top-level validEmail of accept_all.\n description: Domain validation details for the email address.\n AccountObject:\n type: object\n required:\n - role\n properties:\n role:\n type: boolean\n description: Detection flag identifying role-based email addresses (e.g., admin@, support@).\n fullMailBox:\n type: boolean\n description: Storage capacity status indicator for the recipient mailbox.\n description: Account-level validation details.\n DnsObject:\n type: object\n required: []\n properties:\n mxRecord:\n type: array\n items:\n type: string\n description: Every MX hostname at the domain's lowest preference (not just one). [\".\"] means the domain publishes a null MX and accepts no mail at all. Absent entirely when the domain has no MX record of any kind \u2014 check aRecord in that case.\n aRecord:\n type: array\n items:\n type: string\n description: Collection of A (Address) records for the domain. Present when the domain has no MX record but does resolve to a web server or other host.\n description: DNS records for the email domain. Absent entirely when the domain publishes neither an MX nor an A record.\n AddressObject:\n type: object\n properties:\n validIpAddress:\n type: boolean\n description: IP recognized/reachable by the geolocation provider.\n location:\n $ref: '#/components/schemas/EmailLocation'\n security:\n $ref: '#/components/schemas/EmailSecurity'\n description: Geolocation and security enrichment data for the IP address.\n required: []\n EmailLocation:\n type: object\n description: Geolocation data derived from the IP address.\n properties:\n city:\n type: string\n description: Municipal or city name.\n district:\n type: string\n description: District or neighborhood.\n zipcode:\n type: string\n description: Postal or ZIP code.\n state_prov:\n type: string\n description: State or province.\n country_name:\n type: string\n description: Common country name.\n country_name_official:\n type: string\n description: Official country name.\n country_code2:\n type: string\n description: Two-character ISO country code.\n country_code3:\n type: string\n description: Three-character ISO country code.\n continent_name:\n type: string\n description: Continental region name.\n continent_code:\n type: string\n description: Continental region identifier.\n accuracy_radius:\n type: string\n description: Geolocation precision radius.\n confidence:\n type: string\n description: Confidence score for geolocation accuracy.\n is_eu:\n type: boolean\n description: European Union membership status.\n required: []\n EmailSecurity:\n type: object\n description: Threat and anonymity profile for the IP address.\n required:\n - threat_score\n - is_tor\n - is_proxy\n - proxy_type\n - proxy_provider\n - is_anonymous\n - is_known_attacker\n - is_spam\n - is_bot\n - is_cloud_provider\n - cloud_provider\n properties:\n threat_score:\n type: integer\n description: Quantitative risk assessment score. Higher values indicate elevated security risk.\n is_tor:\n type: boolean\n description: Detection flag for IP addresses routed through the Tor anonymity network.\n is_proxy:\n type: boolean\n description: Detection flag identifying IP addresses operating as proxy servers.\n proxy_type:\n type: string\n description: Classification of detected proxy infrastructure type (e.g. VPN, HTTP, SOCKS).\n proxy_provider:\n type: string\n description: Identified service provider operating the proxy infrastructure.\n is_anonymous:\n type: boolean\n description: Anonymization detection flag for IP addresses using identity obfuscation techniques.\n is_known_attacker:\n type: boolean\n description: Threat intelligence flag for IP addresses documented as confirmed malicious sources.\n is_spam:\n type: boolean\n description: Reputation flag for IP addresses associated with spam transmission.\n is_bot:\n type: boolean\n description: Automated traffic detection flag for IP addresses from bot networks.\n is_cloud_provider:\n type: boolean\n description: Infrastructure classification flag for IP addresses from cloud computing providers.\n cloud_provider:\n type: string\n description: Identified cloud infrastructure or hosting service provider name.\n BulkEmailRequest:\n type: object\n description: Request body for bulk email validation.\n required:\n - emailData\n properties:\n emailData:\n type: array\n description: Array of email objects to validate. Maximum 10 per request.\n maxItems: 10\n items:\n $ref: '#/components/schemas/BulkEmailRequestItem'\n BulkEmailRequestItem:\n type: object\n description: A single email entry in a bulk validation request.\n required:\n - email\n properties:\n email:\n type: string\n format: email\n description: Email address to validate.\n name:\n type: string\n description: Optional name or label.\n ip:\n type: string\n format: ip\n description: Optional IP address for enrichment.\n ErrorResponse:\n type: object\n description: Standard error envelope returned by the API on failed requests.\n required:\n - message\n properties:\n error:\n type: string\n description: Short error category or exception type.\n message:\n type: string\n description: Human-readable error message describing the failure.\n path:\n type: string\n description: API endpoint path that produced the error.\n status:\n type: integer\n description: HTTP status code returned with the error.\n timestamp:\n type: string\n format: date-time\n description: Timestamp when the error occurred (ISO 8601).\n headers:\n X-AF-Credits-Cost:\n description: Specifies the number of credits consumed by the current request.\n schema:\n type: integer\n X-Concurrent-Threads:\n description: Specifies the maximum number of concurrent requests allowed.\n schema:\n type: integer\n X-Concurrent-Threads-Active:\n description: Indicates the number of active concurrent requests being processed.\n schema:\n type: integer\nsecurity:\n - ApiKeyAuthHeader: []\n - ApiKeyAuthQuery: []\n",
|
|
53023
|
+
"email-checker": `openapi: 3.1.1
|
|
53024
|
+
info:
|
|
53025
|
+
title: Email Checker API - Real-Time Validation, Deliverability & Risk Signals
|
|
53026
|
+
version: 1.0.0
|
|
53027
|
+
description: Validate a single email address and receive comprehensive results including syntax validation, domain verification, account detection, DNS records (MX and A records), and optional IP-based geolocation and security enrichment. Returns deliverability assessment with valid/accept_all/invalid/unknown/risky/app_server_blocked status.
|
|
53028
|
+
contact:
|
|
53029
|
+
name: APIFreaks Support
|
|
53030
|
+
url: https://apifreaks.com/contact
|
|
53031
|
+
email: support@apifreaks.com
|
|
53032
|
+
servers:
|
|
53033
|
+
- url: https://api.apifreaks.com/v1.0
|
|
53034
|
+
description: Email Checker API Server
|
|
53035
|
+
paths:
|
|
53036
|
+
/email-validation/single:
|
|
53037
|
+
post:
|
|
53038
|
+
tags:
|
|
53039
|
+
- Email Validation APIs
|
|
53040
|
+
summary: Validate a single email
|
|
53041
|
+
description: Validates a single email address and returns result.
|
|
53042
|
+
parameters:
|
|
53043
|
+
- name: format
|
|
53044
|
+
in: query
|
|
53045
|
+
required: false
|
|
53046
|
+
schema:
|
|
53047
|
+
type: string
|
|
53048
|
+
enum:
|
|
53049
|
+
- json
|
|
53050
|
+
- xml
|
|
53051
|
+
description: Format of the response
|
|
53052
|
+
requestBody:
|
|
53053
|
+
required: true
|
|
53054
|
+
content:
|
|
53055
|
+
application/json:
|
|
53056
|
+
schema:
|
|
53057
|
+
$ref: '#/components/schemas/EmailCheckRequest'
|
|
53058
|
+
responses:
|
|
53059
|
+
'200':
|
|
53060
|
+
description: Successful response with Email Validation
|
|
53061
|
+
content:
|
|
53062
|
+
application/json:
|
|
53063
|
+
schema:
|
|
53064
|
+
$ref: '#/components/schemas/SingleEmailValidationResponse'
|
|
53065
|
+
examples:
|
|
53066
|
+
validEmail:
|
|
53067
|
+
summary: Valid, deliverable email
|
|
53068
|
+
value:
|
|
53069
|
+
success: true
|
|
53070
|
+
email: abc.def@gmail.com
|
|
53071
|
+
validEmail: valid
|
|
53072
|
+
validSyntax: true
|
|
53073
|
+
domain:
|
|
53074
|
+
name: gmail.com
|
|
53075
|
+
disposable: false
|
|
53076
|
+
spam: false
|
|
53077
|
+
free: true
|
|
53078
|
+
validDomain: true
|
|
53079
|
+
catchAll: false
|
|
53080
|
+
account:
|
|
53081
|
+
role: false
|
|
53082
|
+
fullMailBox: false
|
|
53083
|
+
dns:
|
|
53084
|
+
mxRecord:
|
|
53085
|
+
- gmail-smtp-in.l.google.com.
|
|
53086
|
+
- alt1.gmail-smtp-in.l.google.com.
|
|
53087
|
+
- alt2.gmail-smtp-in.l.google.com.
|
|
53088
|
+
- alt3.gmail-smtp-in.l.google.com.
|
|
53089
|
+
- alt4.gmail-smtp-in.l.google.com.
|
|
53090
|
+
invalidSyntax:
|
|
53091
|
+
summary: Syntactically invalid email \u2014 domain/account/dns are minimal or absent
|
|
53092
|
+
value:
|
|
53093
|
+
success: true
|
|
53094
|
+
email: not-an-email
|
|
53095
|
+
validEmail: INVALID_EMAIL
|
|
53096
|
+
validSyntax: false
|
|
53097
|
+
domain:
|
|
53098
|
+
name: not-an-email
|
|
53099
|
+
validDomain: false
|
|
53100
|
+
nonexistentDomain:
|
|
53101
|
+
summary: Valid syntax, domain does not exist (NXDOMAIN)
|
|
53102
|
+
value:
|
|
53103
|
+
success: true
|
|
53104
|
+
email: test@nonexistentdomainxyz123abc.com
|
|
53105
|
+
validEmail: invalid
|
|
53106
|
+
validSyntax: true
|
|
53107
|
+
reason: mx record does not exist.
|
|
53108
|
+
domain:
|
|
53109
|
+
name: nonexistentdomainxyz123abc.com
|
|
53110
|
+
disposable: false
|
|
53111
|
+
spam: false
|
|
53112
|
+
free: false
|
|
53113
|
+
validDomain: false
|
|
53114
|
+
catchAll: false
|
|
53115
|
+
account:
|
|
53116
|
+
role: false
|
|
53117
|
+
acceptAll:
|
|
53118
|
+
summary: Catch-all domain accepted the recipient \u2014 mailbox unconfirmed
|
|
53119
|
+
value:
|
|
53120
|
+
success: true
|
|
53121
|
+
email: random12345@yahoo.com
|
|
53122
|
+
validEmail: accept_all
|
|
53123
|
+
validSyntax: true
|
|
53124
|
+
reason: domain accepts all addresses.
|
|
53125
|
+
domain:
|
|
53126
|
+
name: yahoo.com
|
|
53127
|
+
disposable: false
|
|
53128
|
+
spam: false
|
|
53129
|
+
free: true
|
|
53130
|
+
validDomain: true
|
|
53131
|
+
catchAll: true
|
|
53132
|
+
account:
|
|
53133
|
+
role: false
|
|
53134
|
+
fullMailBox: false
|
|
53135
|
+
dns:
|
|
53136
|
+
mxRecord:
|
|
53137
|
+
- mta5.am0.yahoodns.net.
|
|
53138
|
+
- mta6.am0.yahoodns.net.
|
|
53139
|
+
- mta7.am0.yahoodns.net.
|
|
53140
|
+
nullMxDomain:
|
|
53141
|
+
summary: Domain publishes a null MX (single ".") \u2014 accepts no mail at all
|
|
53142
|
+
value:
|
|
53143
|
+
success: true
|
|
53144
|
+
email: test@example.com
|
|
53145
|
+
validEmail: invalid
|
|
53146
|
+
validSyntax: true
|
|
53147
|
+
reason: domain does not accept mail.
|
|
53148
|
+
domain:
|
|
53149
|
+
name: example.com
|
|
53150
|
+
disposable: true
|
|
53151
|
+
spam: false
|
|
53152
|
+
free: false
|
|
53153
|
+
validDomain: true
|
|
53154
|
+
catchAll: false
|
|
53155
|
+
account:
|
|
53156
|
+
role: false
|
|
53157
|
+
dns:
|
|
53158
|
+
mxRecord:
|
|
53159
|
+
- .
|
|
53160
|
+
noMxAddressOnly:
|
|
53161
|
+
summary: Domain has no MX record but a working A record \u2014 gets a real SMTP probe
|
|
53162
|
+
value:
|
|
53163
|
+
success: true
|
|
53164
|
+
email: test@neverssl.com
|
|
53165
|
+
validEmail: unknown
|
|
53166
|
+
validSyntax: true
|
|
53167
|
+
reason: We are unable to determine if email is valid or invalid.
|
|
53168
|
+
domain:
|
|
53169
|
+
name: neverssl.com
|
|
53170
|
+
disposable: false
|
|
53171
|
+
spam: false
|
|
53172
|
+
free: false
|
|
53173
|
+
validDomain: true
|
|
53174
|
+
catchAll: false
|
|
53175
|
+
account:
|
|
53176
|
+
role: false
|
|
53177
|
+
dns:
|
|
53178
|
+
aRecord:
|
|
53179
|
+
- 34.223.124.45
|
|
53180
|
+
withIp:
|
|
53181
|
+
summary: With ip \u2014 adds geolocation/security enrichment under address
|
|
53182
|
+
value:
|
|
53183
|
+
success: true
|
|
53184
|
+
email: abc.def@gmail.com
|
|
53185
|
+
validEmail: valid
|
|
53186
|
+
validSyntax: true
|
|
53187
|
+
domain:
|
|
53188
|
+
name: gmail.com
|
|
53189
|
+
disposable: false
|
|
53190
|
+
spam: false
|
|
53191
|
+
free: true
|
|
53192
|
+
validDomain: true
|
|
53193
|
+
catchAll: false
|
|
53194
|
+
account:
|
|
53195
|
+
role: false
|
|
53196
|
+
fullMailBox: false
|
|
53197
|
+
dns:
|
|
53198
|
+
mxRecord:
|
|
53199
|
+
- gmail-smtp-in.l.google.com.
|
|
53200
|
+
- alt1.gmail-smtp-in.l.google.com.
|
|
53201
|
+
- alt2.gmail-smtp-in.l.google.com.
|
|
53202
|
+
- alt3.gmail-smtp-in.l.google.com.
|
|
53203
|
+
- alt4.gmail-smtp-in.l.google.com.
|
|
53204
|
+
ip: 8.8.8.8
|
|
53205
|
+
address:
|
|
53206
|
+
validIpAddress: true
|
|
53207
|
+
location:
|
|
53208
|
+
city: Mountain View
|
|
53209
|
+
district: Santa Clara
|
|
53210
|
+
confidence: low
|
|
53211
|
+
zipcode: 94043-1351
|
|
53212
|
+
state_prov: California
|
|
53213
|
+
country_name: United States
|
|
53214
|
+
continent_name: North America
|
|
53215
|
+
continent_code: NA
|
|
53216
|
+
country_code2: US
|
|
53217
|
+
country_code3: USA
|
|
53218
|
+
country_name_official: United States of America
|
|
53219
|
+
accuracy_radius: '27.42'
|
|
53220
|
+
is_eu: false
|
|
53221
|
+
security:
|
|
53222
|
+
threat_score: 5
|
|
53223
|
+
is_tor: false
|
|
53224
|
+
is_proxy: false
|
|
53225
|
+
proxy_type: ''
|
|
53226
|
+
proxy_provider: ''
|
|
53227
|
+
is_anonymous: false
|
|
53228
|
+
is_known_attacker: false
|
|
53229
|
+
is_spam: false
|
|
53230
|
+
is_bot: false
|
|
53231
|
+
is_cloud_provider: true
|
|
53232
|
+
cloud_provider: Google LLC
|
|
53233
|
+
appServerBlocked:
|
|
53234
|
+
summary: Valid syntax, but the recipient mail server blocked the verification attempt
|
|
53235
|
+
value:
|
|
53236
|
+
success: true
|
|
53237
|
+
email: randomuser98765zzz@gmx.com
|
|
53238
|
+
validEmail: app_server_blocked
|
|
53239
|
+
validSyntax: true
|
|
53240
|
+
reason: We are unable to determine the validity of email at the moment. Please try later.
|
|
53241
|
+
domain:
|
|
53242
|
+
name: gmx.com
|
|
53243
|
+
disposable: false
|
|
53244
|
+
spam: false
|
|
53245
|
+
free: true
|
|
53246
|
+
validDomain: true
|
|
53247
|
+
catchAll: false
|
|
53248
|
+
account:
|
|
53249
|
+
role: false
|
|
53250
|
+
dns:
|
|
53251
|
+
mxRecord:
|
|
53252
|
+
- mx00.gmx.net.
|
|
53253
|
+
headers:
|
|
53254
|
+
X-AF-Credits-Cost:
|
|
53255
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
53256
|
+
X-Concurrent-Threads:
|
|
53257
|
+
$ref: '#/components/headers/X-Concurrent-Threads'
|
|
53258
|
+
X-Concurrent-Threads-Active:
|
|
53259
|
+
$ref: '#/components/headers/X-Concurrent-Threads-Active'
|
|
53260
|
+
'400':
|
|
53261
|
+
description: Bad Request \u2013 Invalid request body
|
|
53262
|
+
content:
|
|
53263
|
+
application/json:
|
|
53264
|
+
schema:
|
|
53265
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
53266
|
+
examples:
|
|
53267
|
+
missingEmail:
|
|
53268
|
+
summary: email field missing from request body
|
|
53269
|
+
value:
|
|
53270
|
+
timestamp: '2026-09-02T11:56:23.462Z'
|
|
53271
|
+
path: /v2/email-validation/single
|
|
53272
|
+
status: 400
|
|
53273
|
+
error: Missing or Invalid Parameters
|
|
53274
|
+
message: Please pass valid value for 'email' in body.
|
|
53275
|
+
headers:
|
|
53276
|
+
X-AF-Credits-Cost:
|
|
53277
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
53278
|
+
X-Concurrent-Threads:
|
|
53279
|
+
$ref: '#/components/headers/X-Concurrent-Threads'
|
|
53280
|
+
X-Concurrent-Threads-Active:
|
|
53281
|
+
$ref: '#/components/headers/X-Concurrent-Threads-Active'
|
|
53282
|
+
'404':
|
|
53283
|
+
description: Not Found \u2013 The requested resource could not be found
|
|
53284
|
+
content:
|
|
53285
|
+
application/json:
|
|
53286
|
+
schema:
|
|
53287
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
53288
|
+
examples:
|
|
53289
|
+
Resource Not Found:
|
|
53290
|
+
value:
|
|
53291
|
+
timestamp: '2026-09-02T11:56:23.937Z'
|
|
53292
|
+
path: /v1.0/email-validation/singlex
|
|
53293
|
+
status: 404
|
|
53294
|
+
error: Resource Not Found
|
|
53295
|
+
message: The requested resource could not be found. Please verify the URL and try again.
|
|
53296
|
+
headers:
|
|
53297
|
+
X-AF-Credits-Cost:
|
|
53298
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
53299
|
+
X-Concurrent-Threads:
|
|
53300
|
+
$ref: '#/components/headers/X-Concurrent-Threads'
|
|
53301
|
+
X-Concurrent-Threads-Active:
|
|
53302
|
+
$ref: '#/components/headers/X-Concurrent-Threads-Active'
|
|
53303
|
+
'408':
|
|
53304
|
+
description: Request Timeout
|
|
53305
|
+
content:
|
|
53306
|
+
application/json:
|
|
53307
|
+
schema:
|
|
53308
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
53309
|
+
examples:
|
|
53310
|
+
Request Timeout:
|
|
53311
|
+
value:
|
|
53312
|
+
timestamp: '2026-06-06T13:00:00.000Z'
|
|
53313
|
+
path: /v1.0/email-validation/single
|
|
53314
|
+
status: 408
|
|
53315
|
+
error: Request Timeout
|
|
53316
|
+
message: Timed out while connecting to the remote URL.
|
|
53317
|
+
headers:
|
|
53318
|
+
X-AF-Credits-Cost:
|
|
53319
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
53320
|
+
X-Concurrent-Threads:
|
|
53321
|
+
$ref: '#/components/headers/X-Concurrent-Threads'
|
|
53322
|
+
X-Concurrent-Threads-Active:
|
|
53323
|
+
$ref: '#/components/headers/X-Concurrent-Threads-Active'
|
|
53324
|
+
'429':
|
|
53325
|
+
description: Rate Limit Exceeded
|
|
53326
|
+
content:
|
|
53327
|
+
application/json:
|
|
53328
|
+
schema:
|
|
53329
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
53330
|
+
examples:
|
|
53331
|
+
Rate Limit Exceeded:
|
|
53332
|
+
value:
|
|
53333
|
+
timestamp: '2026-06-06T13:00:00.000Z'
|
|
53334
|
+
path: /v1.0/email-validation/single
|
|
53335
|
+
status: 429
|
|
53336
|
+
error: Too Many Requests
|
|
53337
|
+
message: API rate limit exceeded.
|
|
53338
|
+
headers:
|
|
53339
|
+
X-AF-Credits-Cost:
|
|
53340
|
+
$ref: '#/components/headers/X-AF-Credits-Cost'
|
|
53341
|
+
X-Concurrent-Threads:
|
|
53342
|
+
$ref: '#/components/headers/X-Concurrent-Threads'
|
|
53343
|
+
X-Concurrent-Threads-Active:
|
|
53344
|
+
$ref: '#/components/headers/X-Concurrent-Threads-Active'
|
|
53345
|
+
operationId: checkEmail
|
|
53346
|
+
components:
|
|
53347
|
+
securitySchemes:
|
|
53348
|
+
ApiKeyAuthHeader:
|
|
53349
|
+
type: apiKey
|
|
53350
|
+
in: header
|
|
53351
|
+
name: X-apiKey
|
|
53352
|
+
description: Pass your API key via the X-apiKey request header.
|
|
53353
|
+
ApiKeyAuthQuery:
|
|
53354
|
+
type: apiKey
|
|
53355
|
+
in: query
|
|
53356
|
+
name: apiKey
|
|
53357
|
+
description: Pass your API key via the apiKey query parameter.
|
|
53358
|
+
schemas:
|
|
53359
|
+
SingleEmailValidationResponse:
|
|
53360
|
+
type: object
|
|
53361
|
+
required:
|
|
53362
|
+
- success
|
|
53363
|
+
- email
|
|
53364
|
+
- validEmail
|
|
53365
|
+
- validSyntax
|
|
53366
|
+
- domain
|
|
53367
|
+
properties:
|
|
53368
|
+
success:
|
|
53369
|
+
type: boolean
|
|
53370
|
+
description: 'Indicates the processing status of the validation request. true: completed successfully.'
|
|
53371
|
+
email:
|
|
53372
|
+
type: string
|
|
53373
|
+
format: email
|
|
53374
|
+
description: The email address submitted for validation.
|
|
53375
|
+
name:
|
|
53376
|
+
type: string
|
|
53377
|
+
description: Optional identifier or label provided in the request for record tracking.
|
|
53378
|
+
reason:
|
|
53379
|
+
type: string
|
|
53380
|
+
description: Detailed explanation returned when validEmail is not valid. Omitted entirely when validEmail is valid.
|
|
53381
|
+
validEmail:
|
|
53382
|
+
type: string
|
|
53383
|
+
enum:
|
|
53384
|
+
- valid
|
|
53385
|
+
- accept_all
|
|
53386
|
+
- invalid
|
|
53387
|
+
- INVALID_EMAIL
|
|
53388
|
+
- unknown
|
|
53389
|
+
- risky
|
|
53390
|
+
- app_server_blocked
|
|
53391
|
+
description: 'Comprehensive deliverability assessment. valid: recipient confirmed deliverable, reason omitted. accept_all: the domain is catch-all and accepted the recipient, so this specific mailbox is unconfirmed \u2014 see domain.catchAll, reason ''domain accepts all addresses.''. invalid: rejected mailbox, syntax failure, or the domain accepts no mail at all (a null MX). unknown: no conclusive answer, most common for domains with no MX record that only get a probe against their address record. risky: mailbox exists but over quota, or the server deferred with a greylist response. app_server_blocked: our verifier IP was blocked by the receiving server. Casing is inconsistent in the live API: syntactically invalid addresses can return the raw enum name INVALID_EMAIL instead of lowercase invalid \u2014 this is a known API bug, handle it defensively as equivalent to invalid.'
|
|
53392
|
+
validSyntax:
|
|
53393
|
+
type: boolean
|
|
53394
|
+
description: Validates email address format compliance with RFC 5322 standards.
|
|
53395
|
+
domain:
|
|
53396
|
+
$ref: '#/components/schemas/DomainObject'
|
|
53397
|
+
account:
|
|
53398
|
+
$ref: '#/components/schemas/AccountObject'
|
|
53399
|
+
dns:
|
|
53400
|
+
$ref: '#/components/schemas/DnsObject'
|
|
53401
|
+
address:
|
|
53402
|
+
$ref: '#/components/schemas/AddressObject'
|
|
53403
|
+
ip:
|
|
53404
|
+
type: string
|
|
53405
|
+
format: ip
|
|
53406
|
+
description: IP address provided for geolocation and security enrichment.
|
|
53407
|
+
description: Email validation response containing deliverability assessment and metadata.
|
|
53408
|
+
DomainObject:
|
|
53409
|
+
type: object
|
|
53410
|
+
required:
|
|
53411
|
+
- name
|
|
53412
|
+
- validDomain
|
|
53413
|
+
properties:
|
|
53414
|
+
name:
|
|
53415
|
+
type: string
|
|
53416
|
+
description: Extracted domain component from the email address.
|
|
53417
|
+
validDomain:
|
|
53418
|
+
type: boolean
|
|
53419
|
+
description: Domain validation status confirming DNS resolution capability.
|
|
53420
|
+
disposable:
|
|
53421
|
+
type: boolean
|
|
53422
|
+
description: Classification flag identifying domains from temporary email service providers.
|
|
53423
|
+
spam:
|
|
53424
|
+
type: boolean
|
|
53425
|
+
description: Reputation indicator flagging domains on spam databases.
|
|
53426
|
+
free:
|
|
53427
|
+
type: boolean
|
|
53428
|
+
description: Classification indicating free or consumer-grade email service providers.
|
|
53429
|
+
catchAll:
|
|
53430
|
+
type: boolean
|
|
53431
|
+
description: Detection flag for domains configured to accept mail for any recipient address. true always corresponds to a top-level validEmail of accept_all.
|
|
53432
|
+
description: Domain validation details for the email address.
|
|
53433
|
+
AccountObject:
|
|
53434
|
+
type: object
|
|
53435
|
+
required:
|
|
53436
|
+
- role
|
|
53437
|
+
properties:
|
|
53438
|
+
role:
|
|
53439
|
+
type: boolean
|
|
53440
|
+
description: Detection flag identifying role-based email addresses (e.g., admin@, support@).
|
|
53441
|
+
fullMailBox:
|
|
53442
|
+
type: boolean
|
|
53443
|
+
description: Storage capacity status indicator for the recipient mailbox.
|
|
53444
|
+
description: Account-level validation details.
|
|
53445
|
+
DnsObject:
|
|
53446
|
+
type: object
|
|
53447
|
+
required: []
|
|
53448
|
+
properties:
|
|
53449
|
+
mxRecord:
|
|
53450
|
+
type: array
|
|
53451
|
+
items:
|
|
53452
|
+
type: string
|
|
53453
|
+
description: Every MX hostname at the domain's lowest preference (not just one). ["."] means the domain publishes a null MX and accepts no mail at all. Absent entirely when the domain has no MX record of any kind \u2014 check aRecord in that case.
|
|
53454
|
+
aRecord:
|
|
53455
|
+
type: array
|
|
53456
|
+
items:
|
|
53457
|
+
type: string
|
|
53458
|
+
description: Collection of A (Address) records for the domain. Present when the domain has no MX record but does resolve to a web server or other host.
|
|
53459
|
+
description: DNS records for the email domain. Absent entirely when the domain publishes neither an MX nor an A record.
|
|
53460
|
+
AddressObject:
|
|
53461
|
+
type: object
|
|
53462
|
+
properties:
|
|
53463
|
+
validIpAddress:
|
|
53464
|
+
type: boolean
|
|
53465
|
+
description: IP recognized/reachable by the geolocation provider.
|
|
53466
|
+
location:
|
|
53467
|
+
$ref: '#/components/schemas/EmailLocation'
|
|
53468
|
+
security:
|
|
53469
|
+
$ref: '#/components/schemas/EmailSecurity'
|
|
53470
|
+
description: Geolocation and security enrichment data for the IP address.
|
|
53471
|
+
required: []
|
|
53472
|
+
EmailLocation:
|
|
53473
|
+
type: object
|
|
53474
|
+
description: Geolocation data derived from the IP address.
|
|
53475
|
+
properties:
|
|
53476
|
+
city:
|
|
53477
|
+
type: string
|
|
53478
|
+
description: Municipal or city name.
|
|
53479
|
+
district:
|
|
53480
|
+
type: string
|
|
53481
|
+
description: District or neighborhood.
|
|
53482
|
+
zipcode:
|
|
53483
|
+
type: string
|
|
53484
|
+
description: Postal or ZIP code.
|
|
53485
|
+
state_prov:
|
|
53486
|
+
type: string
|
|
53487
|
+
description: State or province.
|
|
53488
|
+
country_name:
|
|
53489
|
+
type: string
|
|
53490
|
+
description: Common country name.
|
|
53491
|
+
country_name_official:
|
|
53492
|
+
type: string
|
|
53493
|
+
description: Official country name.
|
|
53494
|
+
country_code2:
|
|
53495
|
+
type: string
|
|
53496
|
+
description: Two-character ISO country code.
|
|
53497
|
+
country_code3:
|
|
53498
|
+
type: string
|
|
53499
|
+
description: Three-character ISO country code.
|
|
53500
|
+
continent_name:
|
|
53501
|
+
type: string
|
|
53502
|
+
description: Continental region name.
|
|
53503
|
+
continent_code:
|
|
53504
|
+
type: string
|
|
53505
|
+
description: Continental region identifier.
|
|
53506
|
+
accuracy_radius:
|
|
53507
|
+
type: string
|
|
53508
|
+
description: Geolocation precision radius.
|
|
53509
|
+
confidence:
|
|
53510
|
+
type: string
|
|
53511
|
+
description: Confidence score for geolocation accuracy.
|
|
53512
|
+
is_eu:
|
|
53513
|
+
type: boolean
|
|
53514
|
+
description: European Union membership status.
|
|
53515
|
+
required: []
|
|
53516
|
+
EmailSecurity:
|
|
53517
|
+
type: object
|
|
53518
|
+
description: Threat and anonymity profile for the IP address.
|
|
53519
|
+
required:
|
|
53520
|
+
- threat_score
|
|
53521
|
+
- is_tor
|
|
53522
|
+
- is_proxy
|
|
53523
|
+
- proxy_type
|
|
53524
|
+
- proxy_provider
|
|
53525
|
+
- is_anonymous
|
|
53526
|
+
- is_known_attacker
|
|
53527
|
+
- is_spam
|
|
53528
|
+
- is_bot
|
|
53529
|
+
- is_cloud_provider
|
|
53530
|
+
- cloud_provider
|
|
53531
|
+
properties:
|
|
53532
|
+
threat_score:
|
|
53533
|
+
type: integer
|
|
53534
|
+
description: Quantitative risk assessment score. Higher values indicate elevated security risk.
|
|
53535
|
+
is_tor:
|
|
53536
|
+
type: boolean
|
|
53537
|
+
description: Detection flag for IP addresses routed through the Tor anonymity network.
|
|
53538
|
+
is_proxy:
|
|
53539
|
+
type: boolean
|
|
53540
|
+
description: Detection flag identifying IP addresses operating as proxy servers.
|
|
53541
|
+
proxy_type:
|
|
53542
|
+
type: string
|
|
53543
|
+
description: Classification of detected proxy infrastructure type (e.g. VPN, HTTP, SOCKS).
|
|
53544
|
+
proxy_provider:
|
|
53545
|
+
type: string
|
|
53546
|
+
description: Identified service provider operating the proxy infrastructure.
|
|
53547
|
+
is_anonymous:
|
|
53548
|
+
type: boolean
|
|
53549
|
+
description: Anonymization detection flag for IP addresses using identity obfuscation techniques.
|
|
53550
|
+
is_known_attacker:
|
|
53551
|
+
type: boolean
|
|
53552
|
+
description: Threat intelligence flag for IP addresses documented as confirmed malicious sources.
|
|
53553
|
+
is_spam:
|
|
53554
|
+
type: boolean
|
|
53555
|
+
description: Reputation flag for IP addresses associated with spam transmission.
|
|
53556
|
+
is_bot:
|
|
53557
|
+
type: boolean
|
|
53558
|
+
description: Automated traffic detection flag for IP addresses from bot networks.
|
|
53559
|
+
is_cloud_provider:
|
|
53560
|
+
type: boolean
|
|
53561
|
+
description: Infrastructure classification flag for IP addresses from cloud computing providers.
|
|
53562
|
+
cloud_provider:
|
|
53563
|
+
type: string
|
|
53564
|
+
description: Identified cloud infrastructure or hosting service provider name.
|
|
53565
|
+
EmailCheckRequest:
|
|
53566
|
+
type: object
|
|
53567
|
+
description: Request body for email validation.
|
|
53568
|
+
required:
|
|
53569
|
+
- email
|
|
53570
|
+
properties:
|
|
53571
|
+
email:
|
|
53572
|
+
type: string
|
|
53573
|
+
format: email
|
|
53574
|
+
description: Email address to validate.
|
|
53575
|
+
name:
|
|
53576
|
+
type: string
|
|
53577
|
+
description: Optional name or label for record tracking.
|
|
53578
|
+
ip:
|
|
53579
|
+
type: string
|
|
53580
|
+
format: ip
|
|
53581
|
+
description: Optional IP address for geolocation and security enrichment.
|
|
53582
|
+
ErrorResponse:
|
|
53583
|
+
type: object
|
|
53584
|
+
description: Standard error envelope returned by the API on failed requests.
|
|
53585
|
+
required:
|
|
53586
|
+
- message
|
|
53587
|
+
properties:
|
|
53588
|
+
error:
|
|
53589
|
+
type: string
|
|
53590
|
+
description: Short error category or exception type.
|
|
53591
|
+
message:
|
|
53592
|
+
type: string
|
|
53593
|
+
description: Human-readable error message describing the failure.
|
|
53594
|
+
path:
|
|
53595
|
+
type: string
|
|
53596
|
+
description: API endpoint path that produced the error.
|
|
53597
|
+
status:
|
|
53598
|
+
type: integer
|
|
53599
|
+
description: HTTP status code returned with the error.
|
|
53600
|
+
timestamp:
|
|
53601
|
+
type: string
|
|
53602
|
+
format: date-time
|
|
53603
|
+
description: Timestamp when the error occurred (ISO 8601).
|
|
53604
|
+
headers:
|
|
53605
|
+
X-AF-Credits-Cost:
|
|
53606
|
+
description: Specifies the number of credits consumed by the current request.
|
|
53607
|
+
schema:
|
|
53608
|
+
type: integer
|
|
53609
|
+
X-Concurrent-Threads:
|
|
53610
|
+
description: Specifies the maximum number of concurrent requests allowed.
|
|
53611
|
+
schema:
|
|
53612
|
+
type: integer
|
|
53613
|
+
X-Concurrent-Threads-Active:
|
|
53614
|
+
description: Indicates the number of active concurrent requests being processed.
|
|
53615
|
+
schema:
|
|
53616
|
+
type: integer
|
|
53617
|
+
security:
|
|
53618
|
+
- ApiKeyAuthHeader: []
|
|
53619
|
+
- ApiKeyAuthQuery: []
|
|
53620
|
+
`,
|
|
52878
53621
|
"bulk-vat-rates-country": "openapi: 3.1.1\ninfo:\n title: Bulk VAT Rates by Country API Reference\n version: 1.0.0\n description: Get VAT rates for up to 100 countries or country/state combinations in a single API call. Returns a JSON array of VAT rate results, one entry per country that resolves successfully \u2014 entries with an invalid country/state are silently omitted rather than returned as per-item errors, so the array can be shorter than the requested list. Returns a 400 for a missing/malformed request body and a 413 if the payload exceeds the size limit.\n contact:\n name: APIFreaks Support\n url: https://apifreaks.com/contact\n email: support@apifreaks.com\nservers:\n - url: https://api.apifreaks.com/v1.0\n description: Bulk VAT Rates by Country API Server\npaths:\n /vat/rates/country:\n post:\n tags:\n - Financial APIs\n summary: Bulk VAT lookup by country\n description: Retrieves VAT details for multiple countries or country-state combinations in a single request. Maximum of `100` entries per request are allowed.\n operationId: bulkVatRatesByCountry\n parameters:\n - name: format\n in: query\n required: false\n schema:\n type: string\n enum:\n - json\n - xml\n default: json\n description: 'Specify the desired response format. Options: ''json'' (default) or ''xml''.'\n requestBody:\n required: true\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/BulkVatRequest'\n examples:\n typicalRequest:\n summary: Typical bulk VAT lookup request\n value:\n countries:\n - country: DE\n - country: United_States\n state: New_York\n responses:\n '200':\n description: Successful response \u2014 a JSON array of VAT results, one entry per country that resolved successfully, in request order. Countries that fail to resolve are omitted rather than represented as error entries.\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/VatCountryBulkResponse'\n examples:\n typicalSuccess:\n summary: All requested countries resolved\n value:\n - country: DE\n type: vat\n currency: EUR\n standard_rate: 0.19\n reduced_rate:\n - 0.07\n - 0\n categories:\n books: 0.07\n newspapers: 0.07\n periodicals: 0.07\n broadcasting: 0\n - country: United_States\n state: New_York\n type: vat\n currency: ''\n standard_rate: 0.04\n partialMatch:\n summary: One of two requested countries resolved \u2014 the unresolved one is simply absent\n value:\n - country: DE\n type: vat\n currency: EUR\n standard_rate: 0.19\n reduced_rate:\n - 0.07\n - 0\n categories:\n books: 0.07\n newspapers: 0.07\n periodicals: 0.07\n broadcasting: 0\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '400':\n description: Bad Request \u2014 Missing or malformed request body\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n InvalidBody:\n summary: countries field missing or malformed\n value:\n error: Invalid request body Exception\n message: Please provide data in required format in request body\n path: /v1.0/vat/rates/country\n status: 400\n timestamp: '2026-07-27T11:46:29.315Z'\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\n '413':\n description: Payload Too Large \u2014 Request body exceeds the size limit\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n examples:\n PayloadTooLarge:\n summary: Too many entries / body too large\n value:\n error: Payload too large Exception\n message: Maximum request body size limit exceeded\n path: /v1.0/vat/rates/country\n status: 413\n timestamp: '2026-07-27T11:46:29.925Z'\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\ncomponents:\n securitySchemes:\n ApiKeyAuthHeader:\n type: apiKey\n in: header\n name: X-apiKey\n description: Pass your API key via the X-apiKey request header.\n ApiKeyAuthQuery:\n type: apiKey\n in: query\n name: apiKey\n description: Pass your API key via the apiKey query parameter.\n schemas:\n VatCountryBulkResponse:\n type: array\n description: Array of VAT rate results, one entry per country that resolved successfully, in request order. Countries that fail to resolve are omitted, so this array can be shorter than the requested countries list.\n items:\n $ref: '#/components/schemas/VatBulkResponseItem'\n VatBulkResponseItem:\n type: object\n description: A VAT rate result for a single country or state in a bulk response.\n required:\n - country\n - type\n - currency\n - standard_rate\n properties:\n country:\n type: string\n description: Country identifier returned in the result item.\n state:\n type: string\n description: State or region returned for sub-national lookups. Only present when the request included a state.\n type:\n type: string\n description: Tax type applied for the country or state.\n currency:\n type: string\n description: ISO 4217 currency code for the returned location. Can be an empty string for some state-level entries.\n standard_rate:\n type: number\n format: float\n description: Standard VAT or sales tax rate for the returned location.\n reduced_rate:\n type: array\n description: Reduced VAT rates when defined for the location.\n items:\n $ref: '#/components/schemas/VatRateDecimal'\n super_reduced_rate:\n type: array\n description: Super-reduced VAT rates for specific categories, when defined.\n items:\n $ref: '#/components/schemas/VatRateDecimal'\n parking_rate:\n type: number\n format: float\n description: Parking rate, when applicable.\n categories:\n description: Category-specific VAT rates, where defined (EU/UK only).\n $ref: '#/components/schemas/VatCategories'\n VatRateDecimal:\n type: number\n format: float\n description: A VAT rate expressed as a decimal (e.g., 0.19 = 19%).\n VatCategories:\n type: object\n description: Category-specific VAT rates, where defined (EU/UK only). Keys vary by country.\n properties:\n books:\n type: number\n format: float\n description: VAT rate for books, as a decimal (e.g., 0.07 = 7%).\n newspapers:\n type: number\n format: float\n description: VAT rate for newspapers, as a decimal (e.g., 0.07 = 7%).\n periodicals:\n type: number\n format: float\n description: VAT rate for periodicals, as a decimal (e.g., 0.07 = 7%).\n broadcasting:\n type: number\n format: float\n description: VAT rate for broadcasting services, as a decimal (e.g., 0.19 = 19%).\n BulkVatRequest:\n type: object\n description: Request body for bulk VAT rate lookup by country.\n required:\n - countries\n properties:\n countries:\n type: array\n description: Array of country entries to look up. Maximum 100 entries.\n items:\n $ref: '#/components/schemas/BulkVatRequestItem'\n BulkVatRequestItem:\n type: object\n description: A single country entry in a bulk VAT request.\n required:\n - country\n properties:\n country:\n type: string\n description: Country identifier in Alpha-2, Alpha-3, or full name.\n state:\n type: string\n description: Optional state or region for sub-national VAT.\n ErrorResponse:\n type: object\n description: Standard error envelope returned by the API on failed requests.\n required:\n - message\n properties:\n error:\n type: string\n description: Short error category or exception type.\n message:\n type: string\n description: Human-readable error message describing the failure.\n path:\n type: string\n description: API endpoint path that produced the error.\n status:\n type: integer\n description: HTTP status code returned with the error.\n timestamp:\n type: string\n format: date-time\n description: Timestamp when the error occurred (ISO 8601).\n headers:\n X-AF-Credits-Cost:\n description: Specifies the number of credits consumed by the current request.\n schema:\n type: integer\nsecurity:\n - ApiKeyAuthHeader: []\n - ApiKeyAuthQuery: []\n",
|
|
52879
53622
|
"financial-apis-supported-countries": "openapi: 3.1.1\ninfo:\n title: Financial APIs Supported Countries Reference\n version: 1.0.0\n description: Retrieve the countries and states supported by the VAT, IBAN, and SWIFT APIs. The response always includes all three categories \u2014 VAT_Supported_Countries_And_States, IBAN_Supported_Countries, and SWIFT_Supported_Countries \u2014 each with a different shape. VAT entries are keyed by lowercase country name and include an ISO code plus, for a handful of countries (US, Canada, Spain), a nested map of sub-national state/region codes. IBAN and SWIFT entries are flat arrays of {name, countryCode} objects.\n contact:\n name: APIFreaks Support\n url: https://apifreaks.com/contact\n email: support@apifreaks.com\nservers:\n - url: https://api.apifreaks.com/v1.0\n description: Financial APIs Supported Countries API Server\npaths:\n /vat/supported-countries:\n get:\n tags:\n - Financial APIs\n summary: Get supported countries\n description: Returns the countries and states supported by the VAT, IBAN, and SWIFT APIs.\n operationId: getSupportedCountries\n parameters:\n - name: format\n in: query\n required: false\n schema:\n type: string\n enum:\n - json\n - xml\n default: json\n description: Format of the response. Default is JSON.\n - name: type\n in: query\n required: false\n schema:\n type: string\n description: Accepted by the endpoint but currently has no effect \u2014 all three categories (VAT, IBAN, SWIFT) are always returned regardless of this value.\n responses:\n '200':\n description: Successful response \u2014 always returns all three categories\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/SupportedCountriesResponse'\n examples:\n typicalSuccess:\n summary: Typical successful response (truncated)\n value:\n VAT_Supported_Countries_And_States:\n - germany:\n code: de\n - united_states:\n code: us\n states:\n california: us:ca\n new_york: us:ny\n texas: us:tx\n IBAN_Supported_Countries:\n - countryCode: DE\n name: Germany\n - countryCode: GB\n name: United Kingdom\n SWIFT_Supported_Countries:\n - name: Germany\n countryCode: DE\n - name: United States\n countryCode: US\n headers:\n X-AF-Credits-Cost:\n $ref: '#/components/headers/X-AF-Credits-Cost'\ncomponents:\n securitySchemes:\n ApiKeyAuthHeader:\n type: apiKey\n in: header\n name: X-apiKey\n description: Pass your API key via the X-apiKey request header.\n ApiKeyAuthQuery:\n type: apiKey\n in: query\n name: apiKey\n description: Pass your API key via the apiKey query parameter.\n schemas:\n SupportedCountriesResponse:\n type: object\n description: Countries and states supported by the VAT, IBAN, and SWIFT APIs.\n required:\n - VAT_Supported_Countries_And_States\n - IBAN_Supported_Countries\n - SWIFT_Supported_Countries\n properties:\n VAT_Supported_Countries_And_States:\n type: array\n description: Array of single-key objects, one per supported VAT country. Each key is the lowercase, underscore-separated country name.\n items:\n type: object\n description: A single VAT-supported country, keyed by its lowercase name.\n additionalProperties:\n title: VatCountryEntry\n $ref: '#/components/schemas/VatCountryEntry'\n IBAN_Supported_Countries:\n type: array\n description: Array of countries supported by the IBAN Validation API.\n items:\n $ref: '#/components/schemas/IbanCountryEntry'\n SWIFT_Supported_Countries:\n type: array\n description: Array of countries supported by the SWIFT/BIC Code Lookup and Finder APIs.\n items:\n $ref: '#/components/schemas/SwiftCountryEntry'\n VatCountryEntry:\n type: object\n description: 'VAT country metadata: an ISO 3166-1 alpha-2 code, plus an optional map of sub-national states/regions for countries with state-level VAT (US, Canada, Spain).'\n required:\n - code\n properties:\n code:\n type: string\n description: ISO 3166-1 alpha-2 country code, lowercase.\n states:\n type: object\n description: Map of state/region name to its combined country:state code. Only present for countries with sub-national VAT rates.\n additionalProperties:\n title: StateCode\n type: string\n description: Combined country:state identifier (e.g. us:ca).\n IbanCountryEntry:\n type: object\n description: A single country supported by the IBAN Validation API.\n required:\n - countryCode\n - name\n properties:\n countryCode:\n type: string\n description: ISO 3166-1 alpha-2 country code.\n name:\n type: string\n description: Full country name.\n SwiftCountryEntry:\n type: object\n description: A single country supported by the SWIFT/BIC Code Lookup and Finder APIs.\n required:\n - name\n - countryCode\n properties:\n name:\n type: string\n description: Full country name.\n countryCode:\n type: string\n description: ISO 3166-1 alpha-2 country code.\n headers:\n X-AF-Credits-Cost:\n description: Specifies the number of credits consumed by the current request.\n schema:\n type: integer\nsecurity:\n - ApiKeyAuthHeader: []\n - ApiKeyAuthQuery: []\n",
|
|
52880
53623
|
"iban-validation": `openapi: 3.1.1
|