Antwerpen is a city in Belgium and should be assigned as a locality, not a region.
"mechelen, flanders, belgium" cleans as expected to:
{"status": 200, "name": "mechelen, flanders, belgium", "locality": "mechelen", "region": "flanders", "metro": null, "subregion": "provincie antwerpen", "country": "belgium", "continent": "europe", "type": "locality", "geo": "51.02,4.47"}
"mechelen, belgium" cleans to:
{"status": 200, "name": "mechelen, antwerpen, belgium", "locality": "mechelen", "region": "antwerpen", "metro": null, "subregion": null, "country": "belgium", "continent": "europe", "type": "locality", "geo": "51.03,4.46"}