Ex
AI list builder (Exa)
Builds a list of businesses or places from a prose brief with an Exa research agent; you define the columns in the prompt.
research:exa@1
Usage-basedExExa
UsageManagedUsage-based
Billed by usage: the Exa run's reported cost plus 30%, at most about 217 credits per run.
Every operation this search can bill while it runs. Model token rates are charged per 100-token block; the rest are charged per call. Hover a price for its unit.
ProviderBillingConnectionCost
Ex
Exa
research-exa-v1-exa
Always
Managed, User
0.43credits
You define the output fields
This search's columns come from its own config, not from the catalog: every
{% output name, type: "string" %} tag you declare in the prompt becomes one column on every row returned. See the config reference below for the tag syntax.const options = {
method: 'POST',
headers: {'content-type': 'application/json', authorization: 'Bearer <TOKEN>'},
body: JSON.stringify({
search: {
search_id: 'research:exa@1',
config: {
prompt: {
template: 'Find event venues in Chicago, Illinois that can host corporate events for 100 or more guests. Only include venues that are currently operating.\n\n{% output company_name, type: "string", description: "Venue name" %}\n{% output address_line_1, type: "string", format: "address_line_1", description: "Street address" %}\n{% output zip_code, type: "string", format: "zip_code", description: "ZIP code" %}\n{% output phone, type: "string", format: "phone", description: "Main phone number" %}\n{% output company_domain, type: "string", format: "domain", description: "Website domain, e.g. example.com; empty if none" %}\n{% output max_capacity, type: "number", format: "int", description: "Largest event capacity the venue states" %}'
},
limit: 250,
unique_by: ['company_name', 'address_line_1'],
unique_match: 'all'
}
}
})
};
fetch('https://api.pipe0.com/v1/search/run', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.pipe0.com/v1/search/run"
payload = { "search": {
"search_id": "research:exa@1",
"config": {
"prompt": { "template": "Find event venues in Chicago, Illinois that can host corporate events for 100 or more guests. Only include venues that are currently operating.
{% output company_name, type: \"string\", description: \"Venue name\" %}
{% output address_line_1, type: \"string\", format: \"address_line_1\", description: \"Street address\" %}
{% output zip_code, type: \"string\", format: \"zip_code\", description: \"ZIP code\" %}
{% output phone, type: \"string\", format: \"phone\", description: \"Main phone number\" %}
{% output company_domain, type: \"string\", format: \"domain\", description: \"Website domain, e.g. example.com; empty if none\" %}
{% output max_capacity, type: \"number\", format: \"int\", description: \"Largest event capacity the venue states\" %}" },
"limit": 250,
"unique_by": ["company_name", "address_line_1"],
"unique_match": "all"
}
} }
headers = {
"content-type": "application/json",
"authorization": "Bearer <TOKEN>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)curl --request POST \
--url https://api.pipe0.com/v1/search/run \
--header 'authorization: Bearer <TOKEN>' \
--header 'content-type: application/json' \
--data '
{
"search": {
"search_id": "research:exa@1",
"config": {
"prompt": {
"template": "Find event venues in Chicago, Illinois that can host corporate events for 100 or more guests. Only include venues that are currently operating.\n\n{% output company_name, type: \"string\", description: \"Venue name\" %}\n{% output address_line_1, type: \"string\", format: \"address_line_1\", description: \"Street address\" %}\n{% output zip_code, type: \"string\", format: \"zip_code\", description: \"ZIP code\" %}\n{% output phone, type: \"string\", format: \"phone\", description: \"Main phone number\" %}\n{% output company_domain, type: \"string\", format: \"domain\", description: \"Website domain, e.g. example.com; empty if none\" %}\n{% output max_capacity, type: \"number\", format: \"int\", description: \"Largest event capacity the venue states\" %}"
},
"limit": 250,
"unique_by": [
"company_name",
"address_line_1"
],
"unique_match": "all"
}
}
}
'package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.pipe0.com/v1/search/run"
payload := strings.NewReader("{\"search\":{\"search_id\":\"research:exa@1\",\"config\":{\"prompt\":{\"template\":\"Find event venues in Chicago, Illinois that can host corporate events for 100 or more guests. Only include venues that are currently operating.\\n\\n{% output company_name, type: \\\"string\\\", description: \\\"Venue name\\\" %}\\n{% output address_line_1, type: \\\"string\\\", format: \\\"address_line_1\\\", description: \\\"Street address\\\" %}\\n{% output zip_code, type: \\\"string\\\", format: \\\"zip_code\\\", description: \\\"ZIP code\\\" %}\\n{% output phone, type: \\\"string\\\", format: \\\"phone\\\", description: \\\"Main phone number\\\" %}\\n{% output company_domain, type: \\\"string\\\", format: \\\"domain\\\", description: \\\"Website domain, e.g. example.com; empty if none\\\" %}\\n{% output max_capacity, type: \\\"number\\\", format: \\\"int\\\", description: \\\"Largest event capacity the venue states\\\" %}\"},\"limit\":250,\"unique_by\":[\"company_name\",\"address_line_1\"],\"unique_match\":\"all\"}}}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("content-type", "application/json")
req.Header.Add("authorization", "Bearer <TOKEN>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://api.pipe0.com/v1/search/run', [
'body' => '{"search":{"search_id":"research:exa@1","config":{"prompt":{"template":"Find event venues in Chicago, Illinois that can host corporate events for 100 or more guests. Only include venues that are currently operating.\\n\\n{% output company_name, type: \\"string\\", description: \\"Venue name\\" %}\\n{% output address_line_1, type: \\"string\\", format: \\"address_line_1\\", description: \\"Street address\\" %}\\n{% output zip_code, type: \\"string\\", format: \\"zip_code\\", description: \\"ZIP code\\" %}\\n{% output phone, type: \\"string\\", format: \\"phone\\", description: \\"Main phone number\\" %}\\n{% output company_domain, type: \\"string\\", format: \\"domain\\", description: \\"Website domain, e.g. example.com; empty if none\\" %}\\n{% output max_capacity, type: \\"number\\", format: \\"int\\", description: \\"Largest event capacity the venue states\\" %}"},"limit":250,"unique_by":["company_name","address_line_1"],"unique_match":"all"}}}',
'headers' => [
'authorization' => 'Bearer <TOKEN>',
'content-type' => 'application/json',
],
]);
echo $response->getBody();POST /v1/search/run HTTP/1.1
Content-Type: application/json
Authorization: Bearer <TOKEN>
Host: api.pipe0.com
Content-Length: 919
{"search":{"search_id":"research:exa@1","config":{"prompt":{"template":"Find event venues in Chicago, Illinois that can host corporate events for 100 or more guests. Only include venues that are currently operating.\n\n{% output company_name, type: \"string\", description: \"Venue name\" %}\n{% output address_line_1, type: \"string\", format: \"address_line_1\", description: \"Street address\" %}\n{% output zip_code, type: \"string\", format: \"zip_code\", description: \"ZIP code\" %}\n{% output phone, type: \"string\", format: \"phone\", description: \"Main phone number\" %}\n{% output company_domain, type: \"string\", format: \"domain\", description: \"Website domain, e.g. example.com; empty if none\" %}\n{% output max_capacity, type: \"number\", format: \"int\", description: \"Largest event capacity the venue states\" %}"},"limit":250,"unique_by":["company_name","address_line_1"],"unique_match":"all"}}}