Introduction
Pipe0 is a programmatic framework for data enrichment. If you have some data about a person or company but want more, you can do that in an infinite number of ways with pipe0.
When to use pipe0
If you find yourself using providers like Zoominfo, Findymail, etc, and piping data from one service into another - you can benefit a lot from pipe0. Moving to pipe0 will drastically increase your data quality while making it easy to combine existing data providers with AI and web scraping. No more spaghetti code 🍝.
Here are some things pipe0 does for you:
🔌 Connect 50+ data providers
💨 Make data enrichment easy and fast at any scale
💰 Run enrichment, scraping and AI infrastructure at low cost (we take 0% margin on external providers)
Use cases
There are many applications where having a unified data enrichment API helps a lot:
🤖 Building sales technology applications like automated outreach, SDR, etc.
🧙🏻 Keep data in systems like CRMs up-to-date
🧬 Working with large datasets that need to be enriched
Integrating pipe0 can save months of engineering work, simplify billing, and help you focus on the actual task you’re trying to accomplish (data enrichment is mostly just a means to an end).
What makes pipe0 a framework?
The term framework
may surprise you because pipe0 is an API, dashboard, and SDK.
Pipe0 is a framework because you can not only enrich data but express logic and direction of data flow too.
The following is an example of an enrichment flow that requires logic.
FIND phone number of person
IF found
FIND find timezone of that person
IF NOT found
FIND work email address
While you could implement this with code, pipe0 offers a much simpler interface.
The code below performs this flow. It is robust enough to enrich thousands of records in parallel and power any kind of application.
const result = await fetch("https://api.pipe0.com/v1/run/sync", {
method: "POST",
headers: {
"authorization": `Bearer ${API_KEY}`,
},
body: JSON.stringify({
pipes: [
{
pipeId: "PeopleGetMobileNumberWaterfall@1",
},
{
pipeId: "PeopleGetTimezonePipe0@1",
conditions: [
{
action: "run",
condition: { ref: "mobilePhoneNumber", operator: "isResolved", equals: true }
}
]
},
{
pipeId: "PeopleGetWorkEmailHunter@1",
conditions: [
{
action: "run",
condition: { ref: "mobilePhoneNumber", operator: "isResolved", equals: false }
}
]
}
],
input: [
{
id: 1, // assign an id to each input object
name: "John Doe",
companyWebsiteUrl: "https://pipe0.com"
}
]
})
});