← APIs / Data Clean
Verified

Data Clean

Apiosk Basicsby Apiosk Basics · General

Offline normalization for phones, names, EU-style addresses and fuzzy dedupe clusters across submitted records.

dataapi
Price per request
$0.02
About

Offline normalization for phones, names, EU-style addresses and fuzzy dedupe clusters across submitted records. Pure computation, no caller API key, no outbound provider dependency. The gateway meters access per request over x402.

Base URL
https://gateway.apiosk.com/data-clean
Technical Specs
Auth Methodx402
Response FormatJSON
Endpoints4
Endpoints
MethodPathDescriptionCost
POST /clean/address Parse common EU address strings into street, number, postcode and city, with postcode syntax validation per country.
$0.02 default
View details
POST /clean/name Normalize person/company name casing, diacritics keying and legal suffixes such as B.V., GmbH, Ltd and LLC.
$0.02 default
View details
POST /clean/phone Normalize a phone number to E.164 with bundled offline country dialing metadata.
$0.02 default
View details
POST /dedupe Fuzzy-match a submitted record set and return cluster ids for likely duplicates.
$0.02 default
View details
Endpoint documentation
POST/clean/address
$0.02 default
Description

Parse common EU address strings into street, number, postcode and city, with postcode syntax validation per country.

Pricing
$0.02 default
Request schema
{
  "properties": {
    "address": {
      "type": "string"
    },
    "country": {
      "default": "NL",
      "type": "string"
    }
  },
  "required": [
    "address"
  ],
  "type": "object"
}
Response schema
{
  "properties": {
    "number": {
      "type": [
        "string",
        "null"
      ]
    },
    "postcode_valid": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "street": {
      "type": [
        "string",
        "null"
      ]
    },
    "valid": {
      "type": "boolean"
    }
  },
  "type": "object"
}
Example request
{
  "address": "Keizersgracht 123, 1015 CJ Amsterdam",
  "country": "NL"
}
Example response
{
  "city": "Amsterdam",
  "number": "123",
  "ok": true,
  "postcode": "1015 CJ",
  "street": "Keizersgracht",
  "valid": true
}
POST/clean/name
$0.02 default
Description

Normalize person/company name casing, diacritics keying and legal suffixes such as B.V., GmbH, Ltd and LLC.

Pricing
$0.02 default
Request schema
{
  "properties": {
    "name": {
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "type": "object"
}
Response schema
{
  "properties": {
    "canonical_name": {
      "type": "string"
    },
    "legal_suffixes": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "normalized_key": {
      "type": "string"
    }
  },
  "type": "object"
}
Example request
{
  "name": "mollie bv"
}
Example response
{
  "canonical_name": "Mollie B.V.",
  "legal_suffixes": [
    "B.V."
  ],
  "normalized_key": "molliebv",
  "ok": true
}
POST/clean/phone
$0.02 default
Description

Normalize a phone number to E.164 with bundled offline country dialing metadata.

Pricing
$0.02 default
Request schema
{
  "properties": {
    "country": {
      "default": "NL",
      "type": "string"
    },
    "phone": {
      "type": "string"
    }
  },
  "required": [
    "phone"
  ],
  "type": "object"
}
Response schema
{
  "properties": {
    "country": {
      "type": "string"
    },
    "e164": {
      "type": [
        "string",
        "null"
      ]
    },
    "valid": {
      "type": "boolean"
    }
  },
  "type": "object"
}
Example request
{
  "country": "NL",
  "phone": "06 12345678"
}
Example response
{
  "country": "NL",
  "e164": "+31612345678",
  "ok": true,
  "valid": true
}
POST/dedupe
$0.02 default
Description

Fuzzy-match a submitted record set and return cluster ids for likely duplicates.

Pricing
$0.02 default
Request schema
{
  "properties": {
    "records": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "threshold": {
      "default": 0.82,
      "type": "number"
    }
  },
  "required": [
    "records"
  ],
  "type": "object"
}
Response schema
{
  "properties": {
    "cluster_count": {
      "type": "integer"
    },
    "clusters": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "count": {
      "type": "integer"
    }
  },
  "type": "object"
}
Example request
{
  "records": [
    {
      "name": "Mollie BV"
    },
    {
      "name": "Mollie B.V."
    },
    {
      "name": "Stripe"
    }
  ],
  "threshold": 0.5
}
Example response
{
  "cluster_count": 2,
  "clusters": [
    {
      "cluster_id": 1,
      "index": 0
    },
    {
      "cluster_id": 1,
      "index": 1
    },
    {
      "cluster_id": 2,
      "index": 2
    }
  ],
  "count": 3,
  "ok": true
}