Standardize identifiers
Turn messy LinkedIn slugs, org IDs and URNs into clean canonical URLs, or hand us a whole spreadsheet and get it back repaired and enriched.
Standardize identifiers
LinkedIn identifiers arrive in every shape: a bare slug from one export, a
numeric org ID from another, an ACoAA… URN from a Sales Navigator list. They
all point at the same entity, but they won't join. We built the
standardization calls to collapse them into one canonical LinkedIn URL per
company or person, so dedupes, CRM matches and downstream enrichment work on
the first try.
For a whole file rather than a column of IDs, file repair takes a spreadsheet, fixes what it can and fills in the rest.
What you can fix
| You have | You get | Capability |
|---|---|---|
| A company slug, org ID or LinkedIn URL | Canonical company URL, name, website | Company standardization (one) |
| Up to 50 company identifiers | The same, per identifier, plus a list of the ones that didn't resolve | Company standardization (bulk) |
A profile URN (ACoAA…, ACwAA…) or a URL with one in it | Canonical profile URL and full name | Profile standardization |
| A CSV, TXT, XLSX or public Google Sheet | A repaired, enriched CSV and a summary report | File repair |
Have a company name or domain instead? Standardization works from LinkedIn identifiers. For names and domains, use the Kitchen Sink company resolver, which also returns the full company record.
Companies
Send a LinkedIn slug (microsoft), a numeric org ID (1035) or a full
company URL. You get back:
linkedinUrl: the standardized company URL, always present on successnameandwebsiteUrlwhen available
The bulk call takes 1–50 identifiers in one request and splits the answer
in two. companiesFound lists each resolved company with the identifier
you sent, so you can map results back to your rows. unresolvedIdentifiers
lists the rest, and those cost nothing. Duplicates in the request are
merged and charged once.
{
"apiKey": "sk_live_xxx",
"identifiers": [
"microsoft",
"1035",
"https://www.linkedin.com/company/openai"
]
}People
Sales Navigator and many exports reference people by entity URN rather than
by profile URL. Profile standardization accepts the raw URN (ACoAA… or
ACwAA…) or a full LinkedIn URL with the URN in the slug position, and
returns the public linkedinUrl plus fullName when available.
{
"apiKey": "sk_live_xxx",
"identifier": "ACoAADVMtbkB..."
}All three standardization calls are synchronous. Allow up to 2 minutes for a full bulk request.
File repair
Point us at a file and we return it healed and enriched: profiles found, contact details added, and an optional check of your existing columns. It runs in the background on up to 20,000 rows.
start (returns runId) → poll (free) until status is done → download the CSV and reportInput. sourceUrl is a public HTTPS link to a CSV, an XLSX, a TXT file
with one LinkedIn profile URL per line, or a public Google Sheet. Files can be
up to 50 MiB.
Options. Everything is optional:
| Option | Default | What it does |
|---|---|---|
contactInfo | All on | Choose getWorkEmails, getPersonalEmails and getPhoneNumbers independently |
includeCompanyDetails | false | Adds the current employer's funding, offices, headcount and related fields to each row |
liveFetch | true | Pulls fresh profile data where a row needs it |
runRedline | false | Compares our results with your input columns and flags stale or mismatched values |
maxRows | None | Caps how many rows are processed and billed (max 20,000) |
customInstructions | None | Plain-language guidance to steer the run, added on top of our defaults |
Output. Poll with the runId. Status moves through pending, running,
then done or failed. A finished run includes:
outputCsvUrlandreportUrl: temporary download links, so save the files promptlyrowCountandprocessedRowCount(lower thanrowCountwhenmaxRowsor the free-trial cap applies)stats: input rows, output rows, rows where a profile was found, rows with contact details, and rows with errors
Instead of polling, you can subscribe to the mosaic.completed
webhook.
{
"apiKey": "sk_live_xxx",
"sourceUrl": "https://example.com/leads.csv",
"options": {
"contactInfo": {
"getWorkEmails": true,
"getPersonalEmails": false,
"getPhoneNumbers": false
},
"runRedline": true,
"maxRows": 500
}
}A free first run. An organization's first file repair may run
as a free trial covering the first 1,000 rows; anything past that bills at
normal rates. isFreeTrialRun on the start and poll responses tells you
which applies.
Operations
| Operation | What it does | Reference |
|---|---|---|
| Company standardization | One company slug, org ID or URL to its canonical LinkedIn URL | standardizeCompany |
| Company standardization (bulk) | Up to 50 company identifiers per call; unresolved ones are free | standardizeCompanyBulk |
| Profile standardization | Profile URN to canonical profile URL | standardizeProfile |
| File repair (start / poll) | Heals and enriches a CSV, TXT, XLSX or Google Sheet, async | startMosaic → pollMosaic |
All operations are POST under https://api.fiber.ai/v1/.
Using it effectively
- Standardize before you dedupe. Two rows with
microsoftand1035are the same company; after standardization they share one URL. - Use the bulk company call for lists. One request covers 50 identifiers, and misses come back in their own array at no charge, ready to route to a name-or-domain lookup.
- Convert Sales Navigator URNs before handing people to tools that expect public profile URLs, such as Live Fetch or Contact Reveal.
- Set
maxRowson the first file repair of a new source. A 500-row run shows you hit rates and cost before you commit the whole file. - Ask only for what you'll use. Cost depends on billable rows plus the optional enrichments you switch on, so leave off contact channels and company details you don't need.
- Download the output files as soon as the run is
done; the links expire.
Use cases
- CRM cleanup: collapse slugs, org IDs and URLs in your account table to one canonical URL, then merge the duplicates.
- Sales Navigator handoff: turn a URN-keyed lead export into profile URLs your enrichment and outreach tools accept.
- Event and partner lists: repair a messy spreadsheet from a conference or partner, add work emails, and flag rows where your existing data has gone stale.
Credits
| Operation | Credits | Rate limit |
|---|---|---|
| Company standardization | 1 per company | 120/min |
| Company standardization (bulk) | 1 per resolved company; unresolved are free | 60/min |
| Profile standardization | 1 per profile | 120/min |
| File repair (start) | 10 per row, plus contact details and company details if requested; charged once the file is parsed | 20/min |
| File repair (poll) | Free | 120/min |
How file repair is priced. Every billable row costs 10 credits. On
top of that, each row pays the standard Contact Reveal
price for the contact channels you request (for example 5 credits for work
email, personal email and phone together), plus 1 credit if you ask for
company details. Billable rows are the rows in the file, capped by maxRows.
File repair always bills at these list prices; negotiated rates don't apply
to it.
chargeInfo on every response is the authoritative record of what you were
charged. Outside file repair, published numbers are representative and your org's
creditsPerOperation wins. See Billing & credits.
Related
- Kitchen Sink to resolve companies and people from names and domains
- Live Fetch for a profile or company page as it stands right now
- Contact Reveal for emails and phones on people you've already identified
- Company insights for revenue, team sizes and talent movement once your companies are clean