Superclean Job Titles
Pricing
from $0.70 / 1,000 results
Superclean Job Titles
Clean messy job titles instantly. AI fixes abbreviations (Sr. → Senior), removes junk (Ninja, Rockstar), strips department tags, and standardizes formats. 3 output styles for CRM, spreadsheets, or analytics. Better data means better lead scoring and personalization.
Pricing
from $0.70 / 1,000 results
Rating
0.0
(0)
Developer

Superlative
Actor stats
2
Bookmarked
4
Total users
2
Monthly active users
9 days ago
Last modified
Categories
Share
Transform messy job titles into clean, consistent formats for CRM systems, HR databases, and analytics.
What does Superclean Job Titles do?
Superclean Job Titles uses AI to intelligently normalize job titles from lead lists, LinkedIn exports, and HR systems.
- Standardizes abbreviations — "Sr. Software Eng." becomes "Senior Software Engineer"
- Removes vanity titles — "Code Ninja", "Growth Hacker", "DevOps Guru" cleaned up
- Strips department tags — "Engineer - Platform Team" becomes "Engineer"
- Fixes ALL CAPS — "MARKETING MANAGER" becomes "Marketing Manager"
- Handles international variations — "Programme Manager" becomes "Program Manager"
- Instant API mode — Sub-second single-title cleaning via Standby HTTP server
What else can Superclean do?
If you're cleaning lead data, you might also need:
- Superclean Company Names — Clean messy company names for cold emails and CRM
- Superclean Person Names — Clean person names for cold email personalization
- Superclean Product Names — Clean product names from e-commerce data
- Superclean Places — Normalize location data from lead exports
- Superclean URLs — Clean and normalize URLs from lead data
- Superlead ICP Scorer — Score leads against your Ideal Customer Profile with AI
Why clean job titles?
Your CRM shows the same role 15 different ways:
- "Sr. Software Eng."
- "Senior Software Engineer"
- "Software Engineer, Senior"
- "Sr Software Developer"
- "Snr. SWE"
Clean data means better:
- Lead scoring and routing — Properly identify decision-makers
- Analytics and reporting — Accurate role-based segmentation
- Personalization in outreach — "Hi Sarah, as a Senior Engineer..." instead of "Hi Sarah, as a Sr. Software Eng. - Platform Team..."
How to use Superclean Job Titles
- Paste your job titles into the input field (one per line)
- Select your output style (Standardized, Abbreviated, or Simple)
- Click Start and download your cleaned results
Output styles
| Style | Best for | Before | After |
|---|---|---|---|
| Standardized | CRM, LinkedIn, HR systems | Sr. Software Eng. | Senior Software Engineer |
| Abbreviated | Spreadsheets, reports | Senior Software Engineer | Sr. Software Eng. |
| Simple | Analytics, categorization | VP of Engineering | Engineering |
Standardized (default)
Full, professional job titles. Expands all abbreviations and uses industry-standard naming.
- "Sr. Software Eng." → "Senior Software Engineer"
- "VP, Product" → "VP of Product"
- "Mktg Mgr" → "Marketing Manager"
Abbreviated
Compact titles that fit in spreadsheet columns and constrained displays.
- "Senior Software Engineer" → "Sr. Software Eng."
- "Vice President of Engineering" → "VP Eng."
- "Chief Technology Officer" → "CTO"
Simple
Core job function only. Strips all seniority and level indicators. Perfect for role-based analytics and categorization.
- "Senior Software Engineer" → "Software Engineer"
- "VP of Engineering" → "Engineering"
- "Lead Product Designer" → "Product Designer"
Standby mode (instant API)
Standby mode keeps a warm container running so you get instant job title cleaning 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-title normalization inline
- Make / n8n HTTP modules — real-time title cleaning in workflows
- MCP agents — AI tools that need instant job title data
Standby URL
https://superlativetech--superclean-job-titles.apify.actor?token=YOUR_API_TOKEN
Or use a Bearer token in the Authorization header instead of the token query parameter.
Clean a job title
$curl "https://superlativetech--superclean-job-titles.apify.actor?token=YOUR_API_TOKEN&input=Sr.+Software+Eng.+-+Platform+Team"
Simple style
$curl "https://superlativetech--superclean-job-titles.apify.actor?token=YOUR_API_TOKEN&input=Sr.+Software+Eng.+-+Platform+Team&style=simple"
With your own OpenRouter key (BYOK)
curl -H "X-OpenRouter-Key: sk-or-..." \"https://superlativetech--superclean-job-titles.apify.actor?token=YOUR_API_TOKEN&input=VP+of+Mktg"
Query parameters
| Parameter | Required | Description |
|---|---|---|
input | Yes | Job title to clean |
style | No | Output style: standardized (default), abbreviated, or simple |
model | No | LLM model (default: openrouter/auto) |
Headers
| Header | Required | Description |
|---|---|---|
X-OpenRouter-Key | No | Your OpenRouter API key for BYOK |
Response format
{"id": 1,"input": "Sr. Software Eng. - Platform Team","output": "Senior Software Engineer","confidence": 0.9}
Error responses
| Code | Cause |
|---|---|
| 400 | Missing input parameter or invalid style |
| 405 | Non-GET request |
| 500 | Unexpected server error |
How many titles can you clean?
There's no limit. Process as many job titles as you need — from a handful to hundreds of thousands. The Actor scales automatically.
For best performance, batch your requests. Processing 1,000 titles at once is more efficient than 10 separate runs of 100 titles each. For batches over 5,000 items, increase the timeout in Settings → Run configuration (e.g., 1800 seconds for 10K titles).
How much will it cost you?
This Actor uses pay-per-result pricing:
| Titles | Cost |
|---|---|
| 1,000 | $1.00 |
| 10,000 | $10.00 |
| 100,000 | $100.00 |
Volume discounts apply automatically:
- Bronze (100+ items): $0.0009/title
- Silver (1,000+ items): $0.0008/title
- Gold (10,000+ items): $0.0007/title
AI model costs
This Actor uses the Apify OpenRouter integration for AI processing. Token costs are billed to your Apify account at OpenRouter rates.
The default model (openrouter/auto) automatically selects the most cost-effective option, typically adding less than $0.05 per 1,000 titles.
Bring your own key
You can bring your own OpenRouter API key instead of using the built-in Apify integration. This routes AI requests directly through your OpenRouter account, so token costs are billed there instead of your Apify account.
To use your own key, paste it into the OpenRouter API key field in the Advanced section. The key is encrypted and never logged.
Input parameters
| Parameter | Type | Description |
|---|---|---|
items | array | List of job titles to clean (one per line in the UI, or JSON array) |
item | string | Single job title to clean — API shorthand for integration callers (Clay, Make, n8n). If both item and items are provided, item is prepended to the list |
style | string | Output style: standardized, abbreviated, or simple (default: standardized) |
model | string | AI model to use (default: openrouter/auto). Set a specific model for higher-quality confidence scores. Browse models |
openRouterApiKey | string | Optional. Your own OpenRouter API key for direct API access (encrypted) |
Input example
{"items": ["Sr. Software Eng.","VP of Engineering","junior developer","MARKETING MANAGER - EAST COAST TEAM","Full Stack Ninja"],"style": "standardized"}
items also accepts objects, which is useful for API and MCP integrations:
{"items": [{ "input": "Sr. Software Eng." },{ "input": "VP of Engineering" }],"style": "standardized"}
For API and integration callers who want to clean a single value without wrapping it in an array, use the item shorthand:
{"item": "Sr. Software Eng.","style": "standardized"}
During the Actor run
The Actor processes titles in batches for efficiency. You'll see progress updates as each batch completes.
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 titles before the full run completes.
Output format
Results are saved to the default dataset. Each cleaned title 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": "Sr. Software Eng.","output": "Senior Software Engineer","confidence": 0.95},{"id": 2,"input": "VP of Engineering","output": "Vice President of Engineering","confidence": 0.92},{"id": 3,"input": "Full Stack Ninja","output": "Full Stack Developer","confidence": 0.88}]
| Field | Description |
|---|---|
id | Row number (1-based, matches Apify's displayed row numbers) |
input | Original job title before cleaning |
output | Cleaned job title |
confidence | Confidence score from 0 to 1 (lower scores may need manual review) |
Confidence scores
Each result includes a confidence score from 0 to 1:
- 0.9+ — High confidence, no review needed
- 0.7-0.9 — Moderate confidence, spot check recommended
- < 0.7 — Low confidence, manual review suggested
Non-English titles automatically receive confidence 0 and should be reviewed.
Integrations
Superclean Job Titles 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 Job Titles 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-job-titles').call({items: ['Sr. Software Eng.', 'VP of Engineering', 'Full Stack Ninja'],style: 'standardized'});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python:
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run = client.actor('superlativetech/superclean-job-titles').call(run_input={'items': ['Sr. Software Eng.', 'VP of Engineering', 'Full Stack Ninja'],'style': 'standardized'})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(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 Job Titles 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