Data Enrichment and Web Research Specialist
Worldwide
READ THIS FIRST: CRITICAL REQUIREMENTS We are a US marketing company. We build and enrich our own B2B target lists in house, and we are hiring one person to own that work on an ongoing basis. The first job is described below. If it goes well there is steady work behind it, because we run list builds like this continuously across several campaigns. *** THE FIRST JOB IS for a 17,000-Row B2B List that will be provided upon hiring for enrichment We have already been through people who quote a low price, run one cheap provider over the file, and hand back something with a 30% match rate and no way to tell the good rows from the guesses. That is what the paid test below exists to prevent. You must address all four of the following in your proposal. Anything missing one of them will not be reviewed. YOUR TOOLS ARE YOUR OWN You bring your own scrapers, enrichment provider accounts, API keys, proxies and licenses, and every one of those costs is included in your price. We do not buy seats, top up credits, reimburse data spend, or hand over our own accounts. Tell us exactly which tools and providers you plan to use on this job, what each one costs you per record, and where you would run a waterfall (cheap provider first, more expensive one only on what it missed). YOUR PRICING Flat pricing only, no hourly. Give us all four numbers: Flat price for the first job, 17,235 rows, both layers described below, inclusive of all data costs Price per 1,000 rows for the company layer alone Price per 1,000 rows to add the person layer on top Your ongoing rate for similar lists after this one PROOF YOU HAVE DONE THIS AT VOLUME Give us 2 or 3 enrichment jobs you personally ran at 5,000 rows or more. For each one: how big the file was, which fields you were filling, the method and tools you used, the match rate you actually reached, how you verified accuracy, and how long it took start to finish. A redacted sample of your output file is the fastest way to get our attention. HOW YOU HANDLE WHAT YOU CANNOT CONFIRM Tell us what you do with a row you cannot resolve with confidence. We want blanks, not guesses, and we want every row graded so we know which half of it to trust. Explain how you grade confidence and what your own threshold is for leaving a field empty. THE FIRST JOB We hand you a CSV of US companies. Each row has the trading name, the legal entity name, city, state, zip, mailing address, phone and industry code. The list comes from public records, so the name on the row is frequently a legal entity or a parent holding company rather than the brand the business actually trades under. Working that out is a large part of the job. Scope is 17,235 rows. You do not filter, reorder, remove or alter any existing column or row. You add columns. Layer 1, the company: domain, bare registrable domain in the form example.com. No www, no https, no trailing slash, no path website_url, the URL that actually resolves contact_form_url, the page carrying a working contact or inquiry form. We submit through these, so it has to be the real form page and not the "About Us" page linkedin_company_url, in the form https://www.linkedin.com/company/slug. It must end in the company slug. Numeric IDs are useless to us Layer 2, one named decision maker per company. Take the highest ranking one you can confirm, in this order: CEO, President, Owner, Founder, Managing Partner CFO, VP Finance, Controller COO dm_first_name, as they present it. If the profile says Bob, give us Bob dm_last_name dm_title, their actual title, not the bucket you sorted them into dm_linkedin_url, the person's own public profile, slug form dm_source, where you confirmed it Do NOT buy email addresses or direct dial numbers for anyone. We do not want them, they are the expensive part of every provider's pricing, and they are the reason contact level enrichment costs many times what company level does. Name, title and public profile URL only. No HR, People, Talent or Benefits titles. Not as a fallback, not as better than nothing. If the only person you can find sits in HR, leave all five person columns blank. One person per company, never two. Grading, on every row: match_confidence for the company, high, medium or low dm_confidence for the person, graded separately match_method, short string, e.g. provider_api, search, manual match_notes, only where something is odd High means the name and the location both agree and the site or LinkedIn page independently confirms it is the same business. Medium means the name matches and the location is close, or you had to reason through a rename, a DBA or a minor variation. Low means you were guessing, and where you are guessing we want the fields blank and the row marked low. A blank row costs us nothing. A wrong domain means we contact a stranger, and that is worse than a gap. Match on legal entity plus city plus state. Name alone will produce wrong matches at this volume, because there are a lot of companies called some version of Summit or Pioneer and they are in different states. Traps we already know are in this file: parent and holding company names that nobody trades under, legal suffixes that are noise for matching, entities that have been dissolved or acquired since filing (record the acquirer's domain and say so in the notes), franchise and multi-location groups sharing one corporate domain across several rows, which is fine and expected, and institutions such as school systems, municipalities and tribal entities that have no conventional corporate site at all. Mark those low and move on rather than forcing a match. THE PAID 500-ROW TEST COMES FIRST Before the other 16,735 rows: Take a random 500 rows from the file. Random, not the first 500 alphabetically Run your full method end to end Report back how many reached high, how many medium, how many low or blank, what each provider cost you, and the wall clock time Hand check 25 of your own high company matches and 25 of your own high person matches, and tell us how many of each were actually right The test is paid and is part of the job, not extra. We do not release the rest of the file until the test comes back and is accepted. The economics of the whole campaign rest on that yield number, so an honest low figure is far more useful to us than an optimistic one, and we will not hold a realistic number against you. Timing: test results within 3 business days of starting, full run within 5 business days of the test being approved. THE ONGOING ROLE Once this job is delivered we want the same person for everything that follows: Building target lists from public sources, directories and registries Deduplication, normalization and cleanup of messy entity data Company level enrichment: domains, resolving URLs, contact form pages, LinkedIn company slugs Contact level research within the limits above, name, title and public profile only QA, confidence grading and honest reporting on match rates Documenting your method so a build can be repeated later without reinventing it REQUIRED You own and pay for your own tooling and data provider accounts You have personally delivered enrichment work at 5,000+ rows, not just small batches Comfortable in Python, or an equivalent scripted approach. This is not a copy and paste from Google job at this volume You can tell the difference between a legal entity, a DBA and an operating brand, and you know how to research US companies that have all three Accurate output formatting. When we say bare domain or slug form, that is what has to come back, on every row Reliable communication and some overlap with US Pacific business hours Willing to sign an NDA. The list and the campaign it feeds are confidential PREFERRED, BIG PLUS Waterfall enrichment across multiple providers rather than loyalty to one Your own scraping setup with proxy rotation, and headless browser work for detecting live contact forms Experience with US public record and registry data, and with corporate hierarchies and parent-subsidiary messes A working sense of when a row is not worth another five minutes TO APPLY Start your proposal with the word BEACON so we know you read this all the way through. Then answer all four critical requirements above, and answer this question: "When the name on a row is a holding company or parent that nobody trades under, walk us through exactly how you find the operating business, and how you decide when to stop looking and leave the row blank." Proposals without the tool list, the pricing and the volume examples will be rejected without response.
$500.00
Fixed-price- ExpertExperience Level
- Remote Job
- Ongoing projectProject Type
Skills and Expertise
Activity on this job
- Proposals:50+
- Interviewing:0
- Invites sent:0
- Unanswered invites:0
About the client
- United StatesSheridan1:03 AM
- $619K total spent141 hires, 17 active
- 32,765 hours
- Sales & MarketingSmall company (2-9 people)
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers earned on Upwork in 2020
Find the best freelance jobs
Growing your career is as easy as creating a free profile and finding work like this that fits your skills.
Trusted by