Analytics per account
Everything is asked per profile and, optionally, for one account. Dates go as YYYY-MM-DD; the default is the last 30 days.
Followers
curl "https://api.usecrier.com/v1/analytics/followers?profileId=prf_8f2k4d&from=2026-10-01" \
-H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/analytics/followers?profileId=prf_8f2k4d&from=2026-10-01', {
headers: {
Authorization: `Bearer ${process.env.CRIER_API_KEY}`,
},
});
const { data } = await res.json();import os, requests
res = requests.get(
"https://api.usecrier.com/v1/analytics/followers?profileId=prf_8f2k4d&from=2026-10-01",
headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},
)
data = res.json()["data"]Current followers, growth over the period and the daily history of each account. Networks refresh them once a day.
Daily totals
curl "https://api.usecrier.com/v1/analytics/daily?profileId=prf_8f2k4d&accountId=acc_3k9x2m" \
-H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/analytics/daily?profileId=prf_8f2k4d&accountId=acc_3k9x2m', {
headers: {
Authorization: `Bearer ${process.env.CRIER_API_KEY}`,
},
});
const { data } = await res.json();import os, requests
res = requests.get(
"https://api.usecrier.com/v1/analytics/daily?profileId=prf_8f2k4d&accountId=acc_3k9x2m",
headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},
)
data = res.json()["data"]Posts and engagement per day, counted on the day it arrives (an old post still getting likes adds to the new days), and totals per network.
Best times
curl "https://api.usecrier.com/v1/analytics/best-times?profileId=prf_8f2k4d" \
-H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/analytics/best-times?profileId=prf_8f2k4d', {
headers: {
Authorization: `Bearer ${process.env.CRIER_API_KEY}`,
},
});
const { data } = await res.json();import os, requests
res = requests.get(
"https://api.usecrier.com/v1/analytics/best-times?profileId=prf_8f2k4d",
headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},
)
data = res.json()["data"]Average engagement per weekday (0 Sunday … 6 Saturday) and hour in UTC, best first. Convert them to your user’s timezone before showing them.
Top posts
curl "https://api.usecrier.com/v1/analytics/top-posts?profileId=prf_8f2k4d&limit=10" \
-H "Authorization: Bearer $CRIER_API_KEY"const res = await fetch('https://api.usecrier.com/v1/analytics/top-posts?profileId=prf_8f2k4d&limit=10', {
headers: {
Authorization: `Bearer ${process.env.CRIER_API_KEY}`,
},
});
const { data } = await res.json();import os, requests
res = requests.get(
"https://api.usecrier.com/v1/analytics/top-posts?profileId=prf_8f2k4d&limit=10",
headers={"Authorization": f"Bearer {os.environ['CRIER_API_KEY']}"},
)
data = res.json()["data"]The period’s posts by engagement (or by date with sortBy=date). postId is the Crier post when it went out through Crier; external: true marks those published elsewhere.