The testimonial API to add, fetch, and display your reviews with code
Your testimonials shouldn’t be stuck in a dashboard.
The Famewall testimonial API lets you read and write them from your own app, site, or AI agent.
$ curl https://api.famewall.io/v1/walls/acme/testimonials \
-H "Authorization: Bearer fw_live_••••"
200 OK
{
"data": [
{
"author": "Avery Smith",
"work_title": "Course Creator",
"rating": 5,
"content": "I send people a link and it's done in seconds.",
"image": "https://cdn.famewall.io/...",
"video_url": null
}
],
"next_cursor": "c2_8f3a"
}Fields shown are illustrative. The API reference has the full schema.
Most tools treat your reviews like their data
Collecting testimonials is the easy part. Getting them into the rest of your stack is where teams get stuck.
Your reviews are locked in a dashboard
You can read your testimonials in the dashboard. Getting them into your own app or database means exporting by hand.
Copy-paste is the only workflow
Moving a new review onto your site or into a report means screenshots and copy-paste. It breaks the moment you have more than a handful.
The widget to match your design
A drop-in widget is fast. But sometimes you want full control of the markup so it matches your design exactly.
New feedback never syncs
Reviews from your product, surveys, or checkout sit in another tool. They never reach your wall on their own.
One API for every wall and testimonial you own
The Famewall API puts your testimonials one request away. Every wall of love you build is available through the API, so your reviews go wherever your code runs.
- ✓Fetch published testimonials as clean JSON
- ✓Add new testimonials with a single POST request
- ✓Pull collected submissions that are awaiting review
- ✓List all of your walls from one account
const res = await fetch(
"https://api.famewall.io/v1/walls/acme/testimonials?limit=20",
{
headers: {
Authorization: `Bearer ${process.env.FAMEWALL_API_KEY}`,
},
}
);
const { data, next_cursor } = await res.json();
// render however you like
data.forEach((t) => {
console.log(t.author, t.rating, t.content);
});What you can build with the testimonial API
The same data behind your Famewall widgets, now available to your own code.
Headless testimonial sections
Fetch testimonials as JSON and render them with your own React, Vue, or server-side components. You control the markup.
Auto-sync reviews from your product
Send a POST request after a survey reply or a 5-star checkout. The testimonial lands on your wall with no one touching the dashboard.
Custom dashboards and reporting
Pull testimonials and ratings into your BI tool or dashboard. Track sentiment next to the rest of your metrics.
Many sites, one source of truth
Run agency client sites or a multi-brand setup from one account. Serve the right testimonials to each site over the API.
Video reviews in your own player
Responses include video and audio URLs. Show video reviews in your own player instead of the default embed.
Notify Slack, your CRM, or a queue
Poll for collected submissions and push new testimonials anywhere your team already works.
Power AI agents and copilots
Give an LLM agent a tool to read or post testimonials. Clean JSON and Bearer auth fit function calling out of the box.
Migrate testimonials in and out
Bulk read from one account and write to another, or move reviews between Famewall and your own database.
Live in three steps
Generate your API key
Open the Famewall app, go to API settings, and create a key. It’s shown once, so copy it somewhere safe.
Call an endpoint
Send your key as a Bearer token in the Authorization header. Every response comes back as clean JSON.
Render it your way
Drop the data into your own components, a report, or another tool. The API stays out of your way.
A small, predictable API surface
Base URL https://api.famewall.io/v1
| Method | Endpoint | What it does |
|---|---|---|
| GET | /walls List every testimonial wall in your account. | List every testimonial wall in your account. |
| GET | /walls/{wall_url}/testimonials Fetch the published testimonials on a wall. | Fetch the published testimonials on a wall. |
| POST | /walls/{wall_url}/testimonials Add a new testimonial to a wall. | Add a new testimonial to a wall. |
| GET | /walls/{wall_url}/collected-testimonials Fetch collected submissions that are waiting for review. | Fetch collected submissions that are waiting for review. |
curl -X POST \
https://api.famewall.io/v1/walls/acme/testimonials \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"author": "Jane Doe",
"content": "Best decision we made this year.",
"rating": 5,
"work_title": "Head of Marketing"
}'curl "https://api.famewall.io/v1/walls/acme/testimonials\
?limit=50&cursor=c2_8f3a" \
-H "Authorization: Bearer YOUR_API_KEY"
# limit: default 20, max 50
# 401 invalid key or plan, 429 rate limitedBuilt so AI agents and LLMs can use it too 🤖
Plain REST, JSON responses, and Bearer auth are exactly what LLM tool use and function calling expect. Point an agent at the API and it can read or write testimonials on its own.
What an agent can do
- ✓Pull relevant testimonials to ground a sales or support reply
- ✓Post a testimonial automatically when a 5-star review lands
- ✓Summarize sentiment across a wall for a weekly report
- ✓Keep a knowledge base of social proof in sync
Predictable status codes keep retries and error handling simple for an autonomous agent. A 429 means wait about a minute. A 401 means the key or plan needs a look.
{
"type": "function",
"function": {
"name": "get_testimonials",
"description": "Fetch published testimonials from a Famewall wall",
"parameters": {
"type": "object",
"properties": {
"wall_url": { "type": "string", "description": "Wall identifier" },
"limit": { "type": "integer", "maximum": 50 },
"cursor": { "type": "string", "description": "Pagination cursor" }
},
"required": ["wall_url"]
}
}
}Connect it to the agents you already use
Plus any other agent that supports tool use. If your agent can call a REST endpoint and send a Bearer token, it can read and post testimonials with Famewall.
If you are an AI agent or LLM
- Base URL: https://api.famewall.io/v1
- Auth header: Authorization: Bearer <API_KEY>
- Read testimonials: GET /walls/{wall_url}/testimonials
- Add a testimonial: POST /walls/{wall_url}/testimonials (author, content, rating)
- Paginate with limit (max 50) and cursor; on HTTP 429, retry after ~60s
- Machine-readable reference: https://docs.famewall.io/api-guide
Need a key first? It lives in API settings and is sent as the Bearer token above.
Built for builders, priced for everyone
Read and write
Not a read-only export. You can pull testimonials and push new ones in the same API.
Published and collected
Reach both live testimonials and the submissions still waiting in your review queue.
No enterprise gate
API access on a regular paid plan, not a custom enterprise contract. Affordable as you scale.
Founder-led support
Stuck on a request? You get direct, fast answers, not a ticket queue.
Customer Case Studies 🤩

And the best part is, it's SO easy to update on my website.
Also Famewall's customer support is super fast!"

People like to read real-life customer stories and Famewall allows me to share them in the most effortless way possible"

And I’m always preferential to a product where I can go directly to a creator and ask for new features.
That is always a HUGE bonus."
Customers love us 💙
Start building with the testimonial API
Generate a key in minutes and pull your testimonials into anything you can code.