Blog
Technical8 min read

What Is a Customer Enrichment API? How Shopify Merchants Connect Orders to Identity Intelligence

DH
Dennis Hegstad
Founder, sonarID · February 20, 2026
What Is a Customer Enrichment API? How Shopify Merchants Connect Orders to Identity Intelligence

A customer enrichment API is a service you send sparse data to, such as an email address and a shipping address, that returns a richer profile in response: the person's likely employer, their job title, social profiles, affluence indicators, and whether they match high-value patterns like founders, investors, press, or creators. You hand it the little you already know, and it hands back context you did not have. For a Shopify merchant the practical version is simple. A customer checks out, your store passes that order's email and address to an enrichment API, and within a second or two you learn whether the person behind the order is an anonymous buyer or someone worth a personal note from the founder.

In plain terms, an enrichment API turns identifiers into identity. The input is a thin record, often just an email, a name, and an address pulled from a checkout. The output is a structured response with fields your dashboard never showed you. Most enrichment happens through a request-response API call: your system asks a question (who is name@company.com?) and the service answers with whatever matching data it can find across its sources. This article explains exactly what goes in, what comes out, how real-time enrichment differs from batch enrichment, and what to look for so you do not overpay or get burned by stale data. If you want the broader concept first, order enrichment is the umbrella term, and a customer enrichment app is what wraps an API into something a non-engineer can actually use.

What Goes In: The Inputs

Enrichment starts with whatever identifiers you can supply, and the richer your input, the more accurate the match. The most common inputs from a Shopify order are the email address, the customer name, the shipping address, and sometimes the phone number. Email is the strongest single signal because it is close to unique and often reveals a domain. An address tells the system where a person actually lives, which matters more than most merchants realize.

  • Email address is the anchor. A corporate domain like name@stripe.com is an immediate, free signal of who the person works for, no paid lookup required. A personal domain like gmail.com tells you less on its own, which is exactly why deeper enrichment exists.
  • Shipping address reveals residence. SonarID weights the shipping address over billing because where someone lives is a far stronger affluence and identity signal than where their card is registered. A residence in a top-tier zip code says something a billing zip rarely does.
  • Name helps disambiguate. Combined with a domain or address, a name lets the service resolve to a specific person rather than a fuzzy set of candidates.
  • Phone is a secondary identifier that improves match confidence when present, though many merchants do not collect it.
  • A good enrichment layer does not treat all inputs as equal. It reasons about them. An email on a corporate domain plus a residential address in an affluent area is a different signal than a free email with a suburban address, and the API response should reflect that difference in its scoring.

    What Comes Out: The Outputs

    The response is where the value lives. A useful enrichment API returns structured fields you can act on, not a wall of raw text. The categories that matter for VIP detection break down into a few buckets.

  • Employment data like current employer, job title, and seniority. This is how you discover that an order came from a venture partner, a brand executive, or a journalist at a major publication. For more on this specific signal, identifying a customer's employer is a deep dive on its own.
  • Social profiles like LinkedIn, Instagram, TikTok, or X handles, sometimes with follower counts. A creator with a large engaged following buying your product unprompted is a partnership waiting to happen, and social profile data is often what flags it.
  • Wealth and affluence indicators derived from address, zip-code income data, and spend patterns. These flag high-net-worth buyers without claiming a specific net worth figure.
  • Identity classification that rolls the raw fields into a category: founder, investor, executive, influencer, press, public figure, or affluent buyer.
  • The best responses include a confidence score and the source of each field, so you know whether a match is a near-certainty or an educated guess. Treat enrichment output as probabilistic. A responsible API tells you how sure it is, and a responsible app surfaces that to you rather than presenting every guess as fact.

    The Free Signal Layer vs. Paid Enrichment

    Not every enrichment call needs to cost money, and a well-designed system knows the difference. There is a meaningful free signal layer that runs on data already inside the order. Email-domain matching against known corporate domains, spend and lifetime-value analysis from your own order history, and affluent-zip-code matching against the shipping address all happen without any per-lookup cost. These free signals catch a surprising share of VIPs on their own. A corporate domain is unambiguous, and an affluent zip is sitting right there in the address you already have. The deeper guide to how email domain matching works explains why a corporate domain is one of the highest-confidence free signals available.

    Paid enrichment is the second layer, reserved for orders where the free signals are inconclusive but the customer might still be valuable. This is where the system calls out to a third-party provider to pull a full profile: employer, social handles, and identity classification, at a real per-lookup cost. SonarID prices this at $0.05 per enrichment, and every plan has a concrete numeric cap on how many of these paid lookups run. The architecture matters here. You do not want to pay $0.05 to confirm what a free domain match already told you. A good enrichment layer runs the free signals first, and only escalates to a paid call when the free layer cannot answer the question. That sequencing is the difference between a tool that respects your enrichment budget and one that burns through credits on customers it could have classified for free.

    Real-Time vs. Batch Enrichment

    This is the distinction that determines what you can actually do with the data, so it is worth getting right.

    Real-time enrichment happens at the moment of the event. An order comes in, a webhook fires, the enrichment API is called, and within a second or two the result is back. The defining feature is that it lets you act while the moment is still hot. If a press contact orders today, a real-time system can alert your team today, before the journalist has finished writing. SonarID runs enrichment in real time on every order, which is what makes real-time VIP alerts possible through Slack and Klaviyo. The trade-off is that real-time enrichment has to be fast and resilient, because it sits in a live path and a slow or failed call should never block the order itself.

    Batch enrichment processes records in bulk, often a CSV of historical orders or a nightly job that sweeps the last day's customers. It is cheaper per record at scale and well suited to backfilling. If you have three years of order history and want to know which of your past customers were secretly VIPs, batch enrichment is the right tool. The downside is latency. A customer enriched in tonight's batch is one you learn about tomorrow, which is fine for analysis but useless for a same-day welcome gesture. Most merchants want both: real-time on new orders so they never miss a live VIP, and a one-time batch pass over history so they understand who has already been buying. The two are complementary, not competing.

    How the Pieces Connect on Shopify

    For a Shopify store the integration usually runs through webhooks. When an order is created, Shopify fires an event, the enrichment service receives it, runs the free signal layer, escalates to paid enrichment only if needed, scores the customer, and writes the result somewhere you will see it: a dashboard, a Slack channel, a Klaviyo profile, or a customer tag. The merchant never touches the API directly. That is the whole point of a packaged app. You install it, grant order access, and the plumbing is handled. If you are weighing whether to wire this up yourself or use a packaged product, the broader customer data enrichment discussion covers the build-versus-buy math, and the signals that make an order worth 10x more explain what the scoring is actually looking for.

    The reason this matters is not technical elegance. It is that the identity of your buyers is already sitting in your order data, encoded in emails and addresses you collect on every checkout, and you cannot read it by eye at any meaningful volume. An enrichment API is the decoder. It is the difference between a customer list that reads name@gmail.com and one that tells you this is a company founder you would love to partner with, living in a neighborhood that signals she can afford your top tier, with a following that could move your brand.

    What to Look For in an Enrichment API

    If you are evaluating enrichment, a few qualities separate the useful from the wasteful. Data freshness matters enormously, because employment and social data go stale fast, and a profile built on a two-year-old job title is worse than no data. Match confidence and source transparency let you trust the output instead of guessing at it, which is why data quality matters more than raw speed. A free signal layer that runs before any paid call keeps your costs honest. Concrete per-lookup pricing and a hard cap on paid lookups mean you always know your maximum exposure, never an open-ended bill. And real-time capability, not just batch, is what lets you turn a detected VIP into an action while it still counts. SonarID was built around exactly that sequence: free signals first, paid enrichment only when it earns its keep, real-time on every order, and a real cap on every plan.

    Frequently asked questions

    What is a customer enrichment API in simple terms?

    It is a service you send a sparse record to, usually an email and address, that returns a fuller profile including employer, job title, social profiles, and affluence indicators, turning thin identifiers into usable identity.

    What data do you need to send to an enrichment API?

    At minimum an email address, and ideally also a name and shipping address. Email anchors the match, the address reveals residence and affluence, and the name helps resolve to a specific person.

    What is the difference between real-time and batch enrichment?

    Real-time enrichment runs at the moment of an order and lets you act immediately, while batch enrichment processes records in bulk, which is cheaper per record and ideal for backfilling historical orders but slower to act on.

    Does every enrichment lookup cost money?

    No. A free signal layer using email-domain matching, spend analysis, and affluent-zip matching runs on data already in the order at no per-lookup cost. Paid enrichment at $0.05 per lookup is reserved for orders the free layer cannot resolve.

    How does an enrichment API connect to a Shopify store?

    Typically through webhooks. When an order is created, Shopify fires an event, the enrichment service runs its signals and scoring, and writes the result to a dashboard, Slack, Klaviyo, or a customer tag without the merchant touching the API.

    How accurate is enrichment data?

    Enrichment is probabilistic, so output should include a confidence score and source for each field. Corporate domain and affluent zip matches are near-certain, while inferred social and employment data should be treated as high-quality estimates rather than verified fact.

    Ready to know who is buying from you?

    Start identifying VIP customers, influencers, and notable figures in your order stream — automatically.

    Start detecting VIPs
    End
    DH
    Written by
    Dennis Hegstad
    Founder, sonarID