✏️ Typosquatting Plugin

Get additional information using plugins.

Typosquatting Plugin

What is this plugin for?

Typosquatting plugin allows you to detect domains that use this practice for fraud.

Usage

Once we have created and configured our API object, it is quite simple, we just need to execute the following code.

import DymoAPI from "dymo-api";

const dymo = new DymoAPI({
  apiKey: ""
});

console.log(await dymo.isValidDataRaw({ 
  url: "https://test.com/test",
  email: "[email protected]",
  phone: "+34617509462",
  domain: "test.com",
  creditCard: {
      pan: "5110929780543845",
      expirationDate: "01/2030",
      cvv: "123"
  },
  ip: "52.94.236.248",
  wallet: "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
  userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
  iban: "ES8101825332130207315465",
  plugins: ["typosquatting"]
}));

Examples

Here are a few basic examples.

Basic Example

Algorithm

Our typosquatting detection algorithm analyzes the provided domain names to return a possibility note that the domain contains typosquatting.

Response

Compatibility:
URL
Domain
Email
{
  url: { 
    valid: true,
    fraud: false,
    freeSubdomain: false,
    customTLD: false,
    url: "https://test.com/test",
    domain: "test.com",
    plugins: {}
  },
  email: {
    valid: true,
    fraud: false, // Also for disposable data.
    proxiedEmail: false, // Recommendation: Block users who proxy their email.
    freeSubdomain: false,
    corporate: true,
    email: "[email protected]",
    realUser: "admin",
    didYouMean: null, // Return a possible email you refer to.
    noReply: false,
    customTLD: false,
    domain: "lamoncloa.gob.es",
    roleAccount: true,
    plugins: {
      typosquatting: 0
    }
  },
  phone: {
    valid: true,
    fraud: false, // Also for disposable data.
    phone: "+34617509462",
    prefix: "34",
    number: "617509462",
    lineType: "Unknown",
    carrierInfo: {
      carrierName: "Vodafone",
      accuracy: 50,
      carrierCountry: "Spain",
      carrierCountryCode: "ES"
    },
    country: "Spain",
    countryCode: "ES",
    plugins: {}
  },
  domain: { 
    valid: true,
    fraud: false,
    freeSubdomain: false,
    customTLD: false,
    domain: "test.com",
    plugins: {
      typosquatting: 0
    }
  },
  creditCard: {
    valid: true,
    fraud: false,
    test: false,
    type: "Mastercard",
    creditCard: "5110929780543845",
    plugins: {}
  },
  ip: { 
    valid: true,
    type: "IPv4",
    class: "A",
    fraud: false,
    ip: "52.94.236.248",
    continent: "North America",
    continentCode: "NA",
    country: "United States",
    countryCode: "US",
    region: "VA",
    regionName: "Virginia",
    city: "Ashburn",
    district: "",
    zipCode: "20149",
    lat: 39.0438,
    lon: -77.4874,
    timezone: "America/New_York",
    offset: -18000,
    currency: "USD",
    isp: "Amazon.com, Inc.",
    org: "Amazon Technologies Inc. (us-east-1)",
    as: "AS16509 Amazon.com, Inc.",
    asname: "AMAZON-02",
    mobile: false,
    vpn: true, // BETA - Also used to indicate that it comes from a Data Center.
    proxy: false,
    hosting: true,
    plugins: {}
  },
  wallet: { 
    valid: true,
    fraud: false,
    wallet: "1a1zp1ep5qgefi2dmpttl5slmv7divfna",
    type: "Bitcoin",
    plugins: {}
  },
  userAgent: {
    valid: true,
    type: "browser",
    clientSlug: "chrome",
    clientName: "Chrome",
    version: "138.0.0.0",
    userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
    fraud: false,
    bot: false,
    info: "Chrome v138.0.0.0",
    os: "Windows 10.0",
    device: {
      type: "Desktop",
      brand: "Microsoft"
    },
    plugins: {}
  },
  iban: {
    valid: true,
    fraud: true,
    iban: "ES8101825332130207315465",
    bban: "01825332130207315465",
    bic: "BBVAESMMXXX", // BETA
    country: "Spain",
    countryCode: "ES",
    accountNumber: "0207315465",
    branchIdentifier: "5332",
    bankIdentifier: "0182",
    plugins: {}
  }
}                             

Response type

If you are going to use this parameter we recommend you to take it as true when the value is greater than 5.
ParameterType
typosquattingNumber (0-10)