curl --request POST \
--url https://api.finseo.ai/v1/projects \
--header 'Authorization: Bearer sk_live_xxxxxxxx' \
--header 'Content-Type: application/json' \
--data '{
"name": "Finseo Labs",
"websiteUrl": "https://labs.finseo.ai",
"description": "Experimental prompts and benchmarks"
}'
import requests
payload = {
"name": "Finseo Labs",
"websiteUrl": "https://labs.finseo.ai",
"description": "Experimental prompts and benchmarks",
}
r = requests.post(
"https://api.finseo.ai/v1/projects",
headers={"Authorization": "Bearer sk_live_xxxxxxxx"},
json=payload,
)
created = r.json()["data"]
print(created["id"])
{
"data": {
"id": "67f8a1b2c3d4e5f60718293a4",
"name": "Finseo Labs",
"websiteUrl": "https://labs.finseo.ai",
"domain": "labs.finseo.ai",
"description": "Experimental prompts and benchmarks",
"isDefault": false,
"tags": [],
"createdAt": "2026-03-29T08:30:00.000Z",
"updatedAt": "2026-03-29T08:30:00.000Z"
}
}
Projects
Create Project
POST
/
v1
/
projects
curl --request POST \
--url https://api.finseo.ai/v1/projects \
--header 'Authorization: Bearer sk_live_xxxxxxxx' \
--header 'Content-Type: application/json' \
--data '{
"name": "Finseo Labs",
"websiteUrl": "https://labs.finseo.ai",
"description": "Experimental prompts and benchmarks"
}'
import requests
payload = {
"name": "Finseo Labs",
"websiteUrl": "https://labs.finseo.ai",
"description": "Experimental prompts and benchmarks",
}
r = requests.post(
"https://api.finseo.ai/v1/projects",
headers={"Authorization": "Bearer sk_live_xxxxxxxx"},
json=payload,
)
created = r.json()["data"]
print(created["id"])
{
"data": {
"id": "67f8a1b2c3d4e5f60718293a4",
"name": "Finseo Labs",
"websiteUrl": "https://labs.finseo.ai",
"domain": "labs.finseo.ai",
"description": "Experimental prompts and benchmarks",
"isDefault": false,
"tags": [],
"createdAt": "2026-03-29T08:30:00.000Z",
"updatedAt": "2026-03-29T08:30:00.000Z"
}
}
Creates a new project. Finseo will track AI visibility for the brand associated with this project across ChatGPT, Claude, Perplexity, and configured models.
string
required
Display name (1–200 characters).
string
Canonical site URL; used to infer
domain when omitted.string
Root domain (e.g.
finseo.ai). Optional if websiteUrl is provided.string
Optional notes (max 500 characters).
curl --request POST \
--url https://api.finseo.ai/v1/projects \
--header 'Authorization: Bearer sk_live_xxxxxxxx' \
--header 'Content-Type: application/json' \
--data '{
"name": "Finseo Labs",
"websiteUrl": "https://labs.finseo.ai",
"description": "Experimental prompts and benchmarks"
}'
import requests
payload = {
"name": "Finseo Labs",
"websiteUrl": "https://labs.finseo.ai",
"description": "Experimental prompts and benchmarks",
}
r = requests.post(
"https://api.finseo.ai/v1/projects",
headers={"Authorization": "Bearer sk_live_xxxxxxxx"},
json=payload,
)
created = r.json()["data"]
print(created["id"])
{
"data": {
"id": "67f8a1b2c3d4e5f60718293a4",
"name": "Finseo Labs",
"websiteUrl": "https://labs.finseo.ai",
"domain": "labs.finseo.ai",
"description": "Experimental prompts and benchmarks",
"isDefault": false,
"tags": [],
"createdAt": "2026-03-29T08:30:00.000Z",
"updatedAt": "2026-03-29T08:30:00.000Z"
}
}
⌘I