Superclean Places avatar

Superclean Places

Pricing

from $0.35 / 1,000 results

Go to Apify Store
Superclean Places

Superclean Places

Clean messy location data from lead exports. Normalizes city, state, and country fields. Fixes abbreviations (NYC → New York, Calif → CA), standardizes formats, and parses combined fields. Works with US states, Canadian provinces, and international locations.

Pricing

from $0.35 / 1,000 results

Rating

0.0

(0)

Developer

Superlative

Superlative

Maintained by Community

Actor stats

2

Bookmarked

3

Total users

2

Monthly active users

11 days ago

Last modified

Share

Clean messy location data from lead exports, CRM records, and web scraping.

What does Superclean Places do?

Superclean Places normalizes location strings into consistent, standardized formats using rule-based parsing (no AI/LLM required).

  • Standardizes abbreviations — "NYC" becomes "New York", "Calif" becomes "CA"
  • Fixes casing — "NEW YORK, NY" becomes "New York, NY"
  • Parses combined fields — "San Francisco, California, USA" extracts city, state, country
  • Normalizes countries — "USA", "United States", "America" all become "US"
  • Handles Canadian provinces — "Ontario" becomes "ON", "British Columbia" becomes "BC"
  • Instant API mode — Sub-second single-location cleaning via Standby HTTP server

What else can Superclean do?

If you're cleaning lead data, you might also need:

Why clean location data?

Your lead data comes from many sources with inconsistent formats:

  • "San Francisco, CA"
  • "san francisco california"
  • "SF, Calif., USA"
  • "SAN FRANCISCO, CALIFORNIA, UNITED STATES"

Clean data means better:

  • Segmentation — Group leads by metro area or region
  • Routing — Assign leads to the right sales territory
  • Personalization — Reference locations correctly in outreach
  • Deduplication — Match records across different sources

How to use Superclean Places

  1. Paste your location strings into the input field (one per line)
  2. Select your output style (Short, Long, or Components)
  3. Click Start and download your cleaned results

Output styles

StyleBest forExample InputExample Output
ShortCRM fields, compact displaySan Francisco, CaliforniaSan Francisco, CA
LongFull formatting, lettersSF, CASan Francisco, California, United States
ComponentsProgrammatic use, parsingNYC, NY{"city":"New York","state":"NY","country":"US"}

Short (default)

Uses standard abbreviations. Omits country when it can be inferred from state.

  • "San Francisco, California, USA" → "San Francisco, CA"
  • "Toronto, Ontario, Canada" → "Toronto, ON"
  • "London, United Kingdom" → "London, GB"

Long

Uses full names for all components.

  • "SF, CA" → "San Francisco, California, United States"
  • "NYC" → "New York"
  • "Toronto, ON" → "Toronto, Ontario, Canada"

Components

Returns structured JSON with each component parsed separately. Useful for programmatic processing.

Standby mode (instant API)

Standby mode keeps a warm container running so you get instant location parsing without cold-start delays. Instead of starting a full Actor run, you make a simple HTTP GET request and get results in milliseconds.

This is ideal for:

  • Clay enrichment steps — single-location parsing inline
  • Make / n8n HTTP modules — real-time location normalization in workflows
  • MCP agents — AI tools that need instant location data

Standby URL

https://superlativetech--superclean-places.apify.actor?token=YOUR_API_TOKEN

Or use a Bearer token in the Authorization header instead of the token query parameter.

Parse a location

$curl "https://superlativetech--superclean-places.apify.actor?token=YOUR_API_TOKEN&input=san+francisco,+ca"

Long format

$curl "https://superlativetech--superclean-places.apify.actor?token=YOUR_API_TOKEN&input=san+francisco,+ca&style=long"

Query parameters

ParameterRequiredDescription
inputYesLocation string to parse
styleNoOutput format: short (default), long, or components

Response format

{
"id": 1,
"input": "san francisco, ca",
"output": "San Francisco, CA",
"city": "San Francisco",
"stateOrProvince": "CA",
"country": "US",
"confidence": 0.9
}

Error responses

CodeCause
400Missing input parameter or invalid style
405Non-GET request
500Unexpected server error

What gets cleaned?

City abbreviations

  • NYC, N.Y.C. → New York
  • LA, L.A. → Los Angeles
  • SF, S.F. → San Francisco
  • Philly → Philadelphia
  • Vegas → Las Vegas

State variations

  • California, Calif, Calif., Cal → CA
  • Massachusetts, Mass, Mass. → MA
  • Texas, Tex, Tex. → TX
  • Pennsylvania, Penn, Penna → PA

Country variations

  • USA, U.S.A., United States, America → US
  • UK, U.K., United Kingdom, Britain, England → GB
  • Canada, Can → CA

Casing

  • ALL CAPS → Title Case
  • all lowercase → Title Case

How many locations can you clean?

There's no limit. Process as many locations as you need — from a handful to hundreds of thousands. The Actor scales automatically.

For best performance, batch your requests. Processing 1,000 locations at once is more efficient than 10 separate runs of 100 locations each.

How much will it cost you?

This Actor uses pay-per-result pricing at half the cost of LLM-based actors (rule-based normalization with no external API calls):

LocationsCost
1,000$0.50
10,000$5.00
100,000$50.00

Volume discounts apply automatically:

  • Bronze (100+ items): $0.00045/location
  • Silver (1,000+ items): $0.0004/location
  • Gold (10,000+ items): $0.00035/location

Input parameters

ParameterTypeDescription
itemsarrayList of location strings to clean (one per line in the UI, or JSON array)
itemstringSingle location to clean — API shorthand for integration callers (Clay, Make, n8n). If both item and items are provided, item is prepended to the list
stylestringOutput style: short, long, or components (default: short)

Input example

{
"items": [
"San Francisco, CA",
"NYC",
"new york city, new york, usa",
"LA, California",
"London, UK",
"toronto ontario canada"
],
"style": "short"
}

items also accepts objects, which is useful for API and MCP integrations:

{
"items": [
{ "input": "San Francisco, CA" },
{ "input": "NYC" }
],
"style": "short"
}

For API and integration callers who want to clean a single value without wrapping it in an array, use the item shorthand:

{
"item": "NYC",
"style": "short"
}

During the Actor run

The Actor processes locations quickly using rule-based parsing. You'll see progress updates as items are processed.

If you provide invalid input (e.g., an empty list), the Actor will stop immediately with an error message explaining what went wrong.

Results are available in real-time — you can start downloading cleaned locations before the full run completes.

Output format

Results are saved to the default dataset. Each cleaned location is a separate item.

You can export results as JSON, CSV, Excel, or other formats directly from Apify Console. Or access them programmatically via the API.

Output example

[
{
"id": 1,
"input": "San Francisco, CA",
"output": "San Francisco, CA",
"city": "San Francisco",
"stateOrProvince": "CA",
"country": "US",
"confidence": 0.85
},
{
"id": 2,
"input": "NYC",
"output": "New York",
"city": "New York",
"stateOrProvince": null,
"country": null,
"confidence": 0.65
},
{
"id": 3,
"input": "new york city, new york, usa",
"output": "New York, NY",
"city": "New York",
"stateOrProvince": "NY",
"country": "US",
"confidence": 0.85
}
]
FieldDescription
idRow number (1-based, matches Apify's displayed row numbers)
inputOriginal location string before cleaning
outputCleaned location string
cityParsed city name
stateOrProvinceParsed state or province code
countryParsed country code (ISO 2-letter)
confidenceConfidence score from 0 to 1 (lower scores may need manual review)

Confidence scores

Each result includes a confidence score from 0 to 1:

  • 0.8+ — High confidence, recognized location with state/country
  • 0.6-0.8 — Moderate confidence, partial match or city-only
  • < 0.6 — Low confidence, manual review suggested

Confidence is based on how many components (city, state, country) were successfully parsed.

Limitations

  • Focuses on US, Canada, and major international locations
  • Does not validate addresses against postal databases
  • Does not geocode or return coordinates
  • For full address validation, consider integrating with Smarty or similar services

Integrations

Superclean Places works with any tool that can call Apify Actors:

  • Clay — Add as an enrichment step in your Clay tables
  • Make — Use the Apify module to run the Actor
  • Zapier — Trigger runs and retrieve results automatically
  • n8n — Self-hosted workflow automation

You can also use webhooks to trigger actions when a run completes — for example, send a Slack notification or automatically import results into your CRM.

Using Superclean Places with the Apify API

The Apify API gives you programmatic access to run Actors, retrieve results, and manage datasets.

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('superlativetech/superclean-places').call({
items: ['San Francisco, CA', 'NYC', 'toronto ontario canada'],
style: 'short'
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python:

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('superlativetech/superclean-places').call(run_input={
'items': ['San Francisco, CA', 'NYC', 'toronto ontario canada'],
'style': 'short'
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Check out the Apify API reference for full details, or click the API tab above for more code examples.

Your feedback

We're always improving Superclean Actors. If you have feature requests, find a bug, or need help with a specific use case, please open an issue in the Actor's Issues tab.

When Apify asks to share your run data with us, we encourage you to opt in — it's the fastest way for us to spot edge cases and improve results. Sharing is completely optional (you can toggle it anytime under Account Settings → Privacy), and shared runs are automatically deleted by Apify based on your plan's data retention period. We only use shared data to debug issues and improve this Actor.

Leave a review

If Superclean Places saves you time or improves your lead data, please leave a review. Your feedback helps other users discover the tool and helps us understand what's working well.


Built by Superlative