# Content Enricher

> The message is missing data — look it up from an external source and add it before passing along.

- **Category**: Integration
- **Subcategory**: Message Transformation
- **Canonical URL**: https://designpattern.fyi/patterns/content_enricher/

---

## Description
Clean, reusable architecture pattern.


## Use Cases
IoT sensor event enrichment — raw sensor reading arrives with sensorId and temperature. Enricher looks up sensorId in a device registry to add location, zone, and owner fields. Downstream analytics service receives a fully enriched event — no device registry calls needed at analysis time.





## Trade-offs


### Advantages

- Downstream consumers get self-contained messages — no extra fetches needed

- Enrichment logic centralized — consumers stay lean

- Can cache frequently fetched enrichment data for performance

- Enables thin producers (send minimal data) with fat consumers (receive full data)




### Considerations & Drawbacks

- External enrichment source becomes a dependency — its downtime blocks the pipeline

- Enrichment adds latency (external call or cache miss)

- Enriched data can be stale if external source is not the freshest

- Enricher can become a bottleneck at high throughput







---
**Reference**: [Original Source](https://www.enterpriseintegrationpatterns.com/patterns/messaging/DataEnricher.html)

