WEB DEVELOPMENT
Sep 2, 20269 min read3 reads

How to Get a Google Places API Key (Step-by-Step)

VS
Vikash Singh
Likes0
Shares0
How to Get a Google Places API Key (Step-by-Step)

TL;DR

Getting a Google Places API key takes six steps: create a Google Cloud project, enable billing (a credit card is required even for the free tier), enable the Places API, create the key, restrict it by app and API, and set quotas plus budget alerts. The key is free to create; restriction and quotas are what protect you from a surprise bill.

How to Get a Google Places API Key (Step-by-Step)

Getting a Google Places API key takes about five minutes, and this guide walks you through every step. But here is the part most tutorials rush past, and the part that actually matters: creating the key is easy, and restricting it is what saves you from a surprise bill. An unrestricted key that leaks can be used by anyone, and the charges land on you. So we will get your key first, then lock it down properly.

One thing to know up front, because it catches everyone: Google requires you to enable billing and add a credit card, even if you only plan to use the free tier. The key itself is free to create, and Google will not charge you unless you exceed the generous free limits, but the card is mandatory. This guide covers the full setup, how to secure the key, and how to make sure you never pay more than you meant to.

The quick answer: the six steps

If you just want the path, here it is. Each step is detailed below.

Create a Google Cloud project at the Google Cloud Console. Enable billing (a credit card is required, even for the free tier). Enable the Places API for your project. Create the API key under Credentials. Restrict the key immediately by app and by API. Set quotas and budget alerts so you never overspend.

The whole thing takes a few minutes. The two steps people skip, restriction and quotas, are the two that protect your wallet, so do not skip them.

What a Google Places API key actually is

A quick definition, so the steps make sense.

The Google Places API is a service that lets your website or app use Google's location data, searching for places, autocompleting addresses as a user types, and pulling details like a business's name, hours, or rating. An API key is a unique string of characters that identifies your project to Google every time your app makes one of these requests. It is both your pass to use the service and the way Google tracks your usage for billing.

Think of the key like a membership card with your name on it. It lets you in, and everything you do is charged to your account. That is exactly why keeping it private and restricted matters so much, which we will cover after the setup.

Step 1: Create a Google Cloud project

Go to the Google Cloud Console at console.cloud.google.com and sign in with a normal Google account. At the top of the page, click the project dropdown, then New Project. Give it a clear name (something like "my-app-places") and click Create.

If you are new to Google Cloud, you will also be offered a $300 free trial credit that lasts 90 days. This is separate from the Places API free tier and applies across Google Cloud, so it is a useful cushion while you get set up.

Step 2: Enable billing

This is the step that surprises people. Before you can use the Places API, you must enable billing on your project, which means adding a credit card, even if you intend to stay entirely within the free tier.

In the console menu, go to Billing, then link or create a billing account and add your card. Google will not charge you unless your usage goes past the free monthly limits, but it will not let you use the API at all without a card on file. This is normal and required for everyone.

Step 3: Enable the Places API

Now turn on the specific service you need. In the console menu, go to APIs & Services, then Library. Search for "Places API," select it, and click Enable.

Only enable the APIs you actually plan to use. Each one is billed separately, so enabling extras you do not need just widens the surface where costs, or mistakes, could appear.

Step 4: Create your API key

With the Places API enabled, go to APIs & Services, then Credentials. Click Create Credentials at the top, and choose API key. Google generates your key instantly and shows it in a dialog.

Copy the key somewhere safe. This is the string your app will use to make requests. Do not paste it into public code, a public repository, or anywhere it can be seen, for reasons the next step makes clear.

Step 5: Restrict your key (the step that protects you)

This is the most important step in the whole guide, and the one most tutorials treat as optional. It is not optional. An unrestricted key is a key anyone can steal and use, running up charges billed to you.

Restrict it in two ways. First, application restrictions: tell Google which websites, apps, or IP addresses are allowed to use this key, so a stolen key will not work from anywhere else. For a website, restrict it to your domain. Second, API restrictions: limit the key to only the Places API, so even if it leaks, it cannot be used for other, pricier Google services.

On the key's settings page in Credentials, set both restrictions and save. A properly restricted key is nearly useless to anyone who steals it, which is exactly what you want.

Step 6: Set quotas and budget alerts

The final safety layer. Restriction stops misuse; quotas and alerts stop overspending.

Set a quota limit on your Places API usage, ideally at or below the free monthly allowance, so requests simply stop once you hit your ceiling rather than rolling into paid usage. Quotas are the control that actually prevents charges. Then set a budget alert so Google emails you when spending approaches a limit you choose. Note the difference: a budget alert only warns you, while a quota actually caps usage. Use both, but rely on the quota to protect the bill.

What the Google Places API costs in 2026

A quick, honest picture so there are no surprises.

Google Places uses pay-as-you-go pricing, billed per SKU, meaning each type of request- a search, an autocomplete, a place-details lookup- has its own price. There is a free monthly allowance for each, and you only pay once you exceed it. As rough 2026 figures, a text search runs a few dollars per 1,000 requests, and a place-details call runs higher, in the range of several dollars to around $17 per 1,000 depending on how much data you request.

One counterintuitive thing worth knowing: with autocomplete, an abandoned search where the user types and then leaves can sometimes cost more than a completed one, because each keystroke can trigger a billable request. This is exactly why the quotas in Step 6 matter. Always check Google's official pricing page for current, exact numbers before you launch, since these change.

Common problems, and how to fix them

A few issues catch almost everyone. Here is how to clear them fast.

"This API key is not authorized." Your key restrictions are blocking the request. Check that your app's domain or IP is in the allowed list, and that the Places API is among the key's allowed APIs.

"Billing not enabled." You skipped or did not finish Step 2. Add a valid credit card to the billing account, even for free-tier use.

The key works locally but not in production. Your application restrictions likely allow your test environment but not your live domain. Add the production domain to the allowed list.

Unexpected charges. Almost always an unrestricted key that leaked, or missing quotas. Restrict the key immediately and set a quota below the free allowance.

Ready to build with Google's location data?

Getting a Google Places API key is quick, but doing it safely- restricting the key and capping usage- is what separates a smooth launch from a surprise invoice. Follow the six steps above, and you get a working key that stays secure and stays within budget.

If you would rather have the setup, integration, and cost controls handled properly as part of a real product build, the Craxinno team implements Google Maps and Places integrations for clients regularly. See recent work in the Craxinno portfolio, view our full stack on the technologies page, or email sales@craxinno.com.

Frequently Asked Questions

How do I get a Google Places API key?+

Create a project in the Google Cloud Console, enable billing by adding a credit card, enable the Places API from the API Library, then go to APIs & Services and Credentials, click Create Credentials, and choose API key. Google generates the key instantly. After creating it, restrict the key by application and API, and set quotas so you do not exceed the free tier.

Is the Google Places API key free?+

The key itself is free to create, and Google offers a free monthly allowance for Places API usage, so many small projects pay nothing. However, Google requires you to enable billing and add a credit card even for free-tier use. You are only charged once you exceed the free limits, and setting a quota below that allowance prevents charges entirely.

Why does Google require a credit card for a free API key?+

Google requires billing to be enabled on every project that uses the Places API, even if you stay within the free tier, so it can verify your account and bill any usage that exceeds the free limits. The card is mandatory to activate the API, but you will not be charged unless you go past the free monthly allowance, which you can prevent with quotas.

How do I stop my Google Places API key from being misused?+

Restrict the key in two ways. Set application restrictions so only your specific website, app, or IP addresses can use it, and set API restrictions so the key works only with the Places API. A restricted key is nearly useless to anyone who steals it. Also set a usage quota so that even authorized use cannot run up an unexpected bill.

How much does the Google Places API cost?+

Google Places uses pay-as-you-go pricing billed per request type, with a free monthly allowance for each. Beyond the free tier, a text search costs a few dollars per 1,000 requests and a place-details call costs more, up to around $17 per 1,000 depending on the data requested. Note that abandoned autocomplete sessions can also incur charges, so always check Google's current pricing page before launching.

Shares
Was this useful?

Technology Used

Node.jsNode.js
JavaScriptJavaScript
Next.jsNext.js
ReactReact

Tags & Keywords

Google Places APIGoogle Maps APIAPI KeysGoogle CloudWeb DevelopmentAPI IntegrationLocation DataDeveloper GuideTutorialGoogle Cloud Console
VS
Written byVikash Singh

Sales and Marketing Team

View all posts

Continue with Blogs.

View all blogs
What Is Fine-Tuning? A Plain-English Guide
Fine-Tuning

What Is Fine-Tuning? A Plain-English Guide

What Is Fine-Tuning? A Plain-English Guide Fine-tuning is the process of taking an AI model that already knows a lot, and training it further on your own examples until it learns to behave the way you want. You are not building a model from scratch. You are taking a capable, pre-trained model, like the ones behind ChatGPT or Claude, and teaching it a specific style, tone, or skill by showing it examples. In one line: fine-tuning changes how a model behaves. Here is the simplest way to picture it. A base AI model is like a brilliant new hire who knows a great deal in general but nothing about how your company does things. Fine-tuning is the training period where you show that hire hundreds of examples of "this is how we write, this is the format we use, this is how we handle these cases," until doing it your way becomes second nature. This guide explains what fine-tuning is, how it works, and when it is worth doing, in plain English. The quick answer: fine-tuning in one minute If you remember nothing else, remember this. Fine-tuning teaches an existing model to behave a certain way by training it on your examples. It does not build a new model, and it is not mainly about adding facts. It is about shaping behavior: a consistent tone, a strict output format, a specialized style. You give the model many example pairs, an input and the ideal response, and it adjusts its internal settings until it reliably produces responses like your examples. After fine-tuning, the behavior is baked into the model itself, so you no longer have to explain it in every prompt. The key thing to hold onto: fine-tuning changes how a model responds, not what it knows. That single distinction clears up most of the confusion around it. What fine-tuning actually is Let us define it properly, without jargon. Large AI models are first built through a huge, expensive training process on enormous amounts of general text. The result is a base model that is broadly capable but generic. It writes in a neutral style, follows general conventions, and has no knowledge of your specific preferences. Fine-tuning is a second, much smaller training step layered on top of that base. Instead of teaching the model everything again, you train it on a focused set of your own examples, so it specializes. The model's internal settings, called weights, shift slightly to favor the patterns in your examples. Because you start from an already-capable model, this takes far less data, time, and money than building one from scratch. The important part is what fine-tuning specializes. It is very good at teaching a consistent tone, a fixed output format, a particular persona, or the phrasing conventions of a specialized field like law or medicine. It is not a reliable way to give a model new facts, a point we will return to, because it is the most common misunderstanding about fine-tuning. How fine-tuning works, step by step You do not need the code, but the process is straightforward and worth seeing. First, you gather examples. You collect a set of example pairs: an input, and the ideal output you want the model to produce for it. For a support assistant, that might be hundreds of real questions paired with perfectly written answers in your brand voice. The quality and consistency of these examples matters more than anything else in the whole process. Second, you prepare the data. The examples are cleaned and formatted into the structure the training process expects. This data-preparation step is usually the largest part of the work, and the part teams most often underestimate. Third, you run the training. The base model is trained on your examples. Over many passes, its weights adjust so its outputs move closer and closer to your ideal responses. This step is often quick and relatively inexpensive compared to gathering the data. Fourth, you test and use it. You check the fine-tuned model against examples it has never seen, to confirm it learned the behavior rather than just memorizing. Once it passes, you use it in place of the base model, and it now behaves your way by default. The whole point is that after fine-tuning, the desired behavior is built in. You stop having to describe your tone or format in every single prompt, because the model already does it. What fine-tuning is good at (and what it is not) Fine-tuning shines in three situations. It enforces a consistent voice or persona, so every response sounds the same way, which prompting alone struggles to guarantee. It locks in a strict output format, such as always returning clean, structured data. And it teaches specialized vocabulary and conventions, the way legal, medical, or technical fields use language. But fine-tuning has one clear limit worth stating plainly: it is not a reliable way to add knowledge. A model fine-tuned on a pile of documents picks up their style and vocabulary, but it does not dependably "learn the facts" inside them the way a retrieval system does. If your real problem is that the AI needs to answer from your specific, current information, fine-tuning is the wrong tool. That is a knowledge problem, and it is solved by connecting the model to your data at answer time. Our guide on RAG explained covers how that works, and our guide on RAG vs fine-tuning covers exactly when to choose which. When fine-tuning is worth it Honesty matters here, because fine-tuning is often reached for too early. Fine-tuning is worth it when you need a behavior you cannot reliably get through prompting, a very specific tone or format that must be consistent every time, or when you are running so much volume that baking the behavior in becomes cheaper than sending long instructions on every call. It is usually not worth it as a first step. Most teams who think they need fine-tuning actually need a better prompt, a more capable base model, or a retrieval system to supply facts. Because fine-tuning requires collecting and preparing quality example data, it carries real upfront effort, so it makes sense once simpler approaches have hit a genuine wall, not before. The sensible order is: try prompting first, add retrieval if you need facts, and fine-tune only when a specific behavior still will not hold. Ready to make AI work the way you need? Fine-tuning is a powerful way to shape how an AI model behaves, once you are sure that behavior, not knowledge, is what you actually need. Getting that diagnosis right is the difference between a project that pays off and one that spends real effort in the wrong place. The Craxinno team builds production AI systems and helps teams decide when fine-tuning is the right tool and when a simpler approach wins. See recent AI work in the Craxinno portfolio , view our full stack on the technologies page, or email sales@craxinno.com .

Posted 31.08.2026
How to Reduce LLM API Costs: A Practical Guide
LLMS

How to Reduce LLM API Costs: A Practical Guide

How to Reduce LLM API Costs: A Practical Guide Here is the strange truth about LLM API costs in 2026: token prices fell by roughly 80% over the past year, and yet most teams are paying more, not less. If your AI bill keeps climbing while the price per token keeps dropping, you are not imagining it, and you are not alone. This guide explains why that happens and, more importantly, how to cut your LLM API costs by 70% to 85% without hurting quality. The reason bills go up while prices go down is simple once you see it. Modern AI products, especially agents, make dozens or even hundreds of model calls to finish a single task, and most of the tokens in those calls are context the model never actually needed. Cheap tokens times huge call volume is still an expensive bill. So reducing LLM costs is not about finding a cheaper provider. It is about sending fewer wasted tokens and using the right model for each job. This guide walks through the five levers that do the most, in the order to apply them, with the honest savings each one delivers. The quick answer: the five levers that cut LLM costs If you want the playbook fast, here it is. Apply these in order, because the early ones are the easiest wins. Caching reuses repeated inputs instead of paying for them every time. Up to 90% off cached tokens. Model routing sends easy tasks to cheap models and hard tasks to expensive ones. 40% to 70% savings. Batching processes non-urgent requests together at a discount. Around 50% off. Prompt and context compression trims the wasted tokens in every call. 50% to 70% fewer tokens. Output limits stop the model from writing more than you need. Direct, immediate savings. Applied together, these commonly cut an LLM bill by 70% to 85% with no drop in output quality. Now here is how each one works. First, understand what you are actually paying for A quick foundation, because it makes every technique below obvious. You pay per token. A token is a chunk of text, roughly three-quarters of a word. Every token you send in (your prompt, instructions, and context) and every token the model generates (its answer) gets billed. Input and output tokens are priced separately, and output is usually more expensive. So your bill is driven by two things: how many tokens you send and receive, and how many times you call the model. Every technique in this guide reduces one or both. Once you think in tokens and calls, cutting costs stops being guesswork and becomes a checklist. This is the same cost thinking behind any AI build, which our guide on the cost to build an AI agent covers in full. Lever 1: Caching (the biggest easy win) Caching is the highest-return, lowest-effort change most teams can make, and most are not using it. Here is the idea. In most AI applications, a large part of every request is identical, the same system prompt, the same instructions, the same reference documents, sent again and again. Without caching, you pay full price to re-send those identical tokens every single time. With caching, the provider stores that repeated part and charges you a fraction to reuse it: as much as 90% off cached tokens on some providers, around 50% on others. The impact is real and immediate. One team running a content pipeline was re-sending the same 3,500-token instruction block on roughly 12,000 calls a month, paying about $180 just for those redundant tokens. Turning on caching, an afternoon of work, cut it sharply. If your application sends any repeated context, and almost all do, caching is where you start. Lever 2: Model routing (use the right brain for the job) The second biggest lever is refusing to use an expensive model for a cheap task. There is no single best model. There is a best model per task, and the price gap between models is now enormous, budget models can cost 15 to 50 times less than flagship ones. Yet many applications send every request, simple or complex, to the most expensive model out of habit. That is like sending a senior specialist to answer every phone call. Model routing fixes this. You classify each request and send simple ones, basic classification, extraction, short answers, to a cheap, fast model, and reserve the expensive flagship model for genuinely hard reasoning. Done well, routing sends only a fraction of traffic to the strong model while keeping most of its quality, which commonly lands as a 40% to 70% cost reduction on routed traffic. The key discipline: test that the cheap path actually holds quality before you trust it. Lever 3: Batching (a discount for patience) If some of your work is not time-sensitive, batching is nearly free money. Many providers offer a batch API that processes requests together and returns them within a window (often up to 24 hours), in exchange for roughly a 50% discount. Anything that does not need an instant answer, overnight report generation, bulk document processing, data enrichment, translation passes, is a perfect fit. The rule is simple: if a task can wait, batch it and pay half. Reserve real-time calls for the interactions where a user is actually waiting on the response. Lever 4: Prompt and context compression (stop sending waste) Most prompts carry tokens the model never needed. Trimming them saves on every single call. Two moves matter here. First, tighten your prompts: remove filler, redundant instructions, and repeated context. Shorter, clearer prompts often produce better answers and cost less. Second, for applications that stuff large amounts of retrieved context into each call, especially RAG systems , compress that context so you send only the relevant parts rather than everything. These techniques can cut token use by 50% to 70% on context-heavy calls. This lever matters most for RAG and agent applications, where wasted context is usually the single largest source of token waste. If you run RAG, this is often where the biggest savings hide. Our guide on RAG vs fine-tuning explains where that context comes from. Lever 5: Output limits (cap what you pay for) Output tokens usually cost more than input tokens, so controlling how much the model writes has outsized impact. Two simple controls do most of the work. Set a hard maximum on output length in your API call, so the model physically cannot run long. And ask for brevity in the prompt itself, telling the model to answer in a set number of words or in a structured format. "Answer in 50 words" plus a hard token cap gives you both a soft and a hard limit. For high-volume applications, trimming a rambling answer down to a tight one, on every call, adds up fast. How the levers stack, and where to start These techniques compound, which is why the combined savings are so large. But the order matters. Start this week with caching and output limits. They are the fastest to implement and deliver immediate savings with almost no risk. Then add routing, backed by a quality test so you know the cheaper model is holding up. Then add batching for anything that can wait, and compression if you run RAG or agents with heavy context. One warning, though. Do not optimize blind. Every cost-cutting move, especially routing and compression , carries a small risk of hurting quality if pushed too far. Before you trust a cheaper path, put a simple evaluation in place that tells you whether output quality held. Cutting cost without measuring quality is how you save money and lose customers. The safe version is: measure, then optimize, then measure again. The mistake most teams make The single most common error is treating a rising LLM bill as a pricing problem, and shopping for a cheaper provider, when it is really a governance problem. Teams overpay not because they picked the wrong model company, but because caching and routing were never wired in, prompts were never tightened, and nobody set output limits. The provider is rarely the issue. The architecture is. Build cost discipline into your AI application from the start, the same way you would build in security or testing, and the bill stays sane as you scale. Bolt it on after a shocking invoice, and you are retrofitting under pressure. Ready to get your AI costs under control? Reducing LLM API costs is not about chasing a cheaper provider. It is about caching what repeats, routing each task to the right model, batching what can wait, compressing what is wasted, and capping what you do not need, all while measuring that quality holds. Done together, these routinely cut a bill by 70% to 85%. The Craxinno team builds and optimizes production AI applications with cost discipline built in from day one, so your AI stays affordable as it scales. See recent AI work in the Craxinno portfolio , view our full stack on the technologies page , or email sales@craxinno.com .

Posted 31.08.2026
Building a Voice AI Agent with Vapi and ElevenLabs: A Practical Guide
voice AI

Building a Voice AI Agent with Vapi and ElevenLabs: A Practical Guide

Building a Voice AI Agent with Vapi and ElevenLabs: A Practical Guide Building a voice AI agent with Vapi and ElevenLabs comes down to understanding one thing: these two tools do different jobs, and together they cover the whole stack. Vapi is the orchestrator, the conductor that connects the pieces of a voice conversation. ElevenLabs is the voice, the part that makes your agent sound human instead of robotic. Pair them, and you get Vapi's flexibility with ElevenLabs' best-in-class speech. Here is the honest starting point most guides skip. A voice AI agent is not one product; it is four pieces working together in under a second: it hears you (speech-to-text), thinks (a language model), speaks (text-to-speech), and runs over a phone line (telephony). Vapi's job is to wire those four together and keep the conversation flowing. ElevenLabs handles the "speaks" part, better than anything else on the market. This guide walks through how they fit, how to build the agent, what it really costs, and the traps to avoid. The quick answer: how Vapi and ElevenLabs fit together If you want the shape of it fast, here it is. Vapi is the orchestration layer. It does not make its own voice. Instead, it connects a speech-to-text provider, a language model, a text-to-speech provider, and a phone system through one API, and manages the real-time conversation between them. Its strength is flexibility: you can swap any piece without rebuilding the agent. ElevenLabs is the voice layer. It turns the agent's text responses into natural, human-sounding speech, with very low latency and thousands of voices across dozens of languages. It is the benchmark for voice quality. You use them together. Vapi orchestrates the conversation and calls ElevenLabs for the actual speech. The result is a flexible pipeline with the best-sounding voice available. That combination is why so many production voice agents run on exactly this pairing. What a voice AI agent actually is A quick, plain breakdown, because the architecture is the whole thing. A voice AI agent is software that holds a real spoken conversation over the phone (or in an app), understanding what a caller says and responding naturally, to book appointments, answer questions, qualify leads, or handle support, without rigid menu trees or pre-recorded scripts. Under the hood, four components run in a fast loop: Speech-to-text (STT). Converts what the caller says into text the system can process. Providers like Deepgram handle this. The language model (LLM). Reads that text, decides what to say, and can call your tools, like looking up an order. This is the brain, often GPT or Claude. Text-to-speech (TTS). Turns the model's text reply back into spoken audio. This is ElevenLabs' job, and where voice quality is won or lost. Telephony. Connects the whole thing to an actual phone number, usually through a provider like Twilio. The magic, and the difficulty, is that all four must happen in well under a second, or the conversation feels laggy and unnatural. Orchestrating that speed is exactly what Vapi exists to do. This four-part loop is also why a voice agent is more involved to build than a text chatbot . Why Vapi plus ElevenLabs is a strong pairing There are many ways to build a voice agent. Here is why this specific combination works so well. Vapi gives you control without lock-in. Because Vapi is provider-agnostic, you are not stuck with one company's speech engine or one language model. You pick the best STT, the best LLM, and the best TTS, and swap any of them later as the technology improves. That flexibility is the core reason engineering teams choose Vapi. ElevenLabs gives you the best voice. Voice quality is what makes a caller stay on the line instead of hanging up on an obvious robot. ElevenLabs leads the market here, with natural, low-latency speech, thousands of voices, and strong multilingual support. When you plug it into Vapi, your agent inherits that quality. Together they hit the latency that makes voice feel real. The pairing of Vapi orchestration with ElevenLabs' fast voice model can land total round-trip latency in the mid-500-millisecond range, which is the threshold where a conversation stops feeling like a delay and starts feeling natural. That number is the difference between an agent people talk to and one they abandon. How to build the agent, step by step You do not need every line of code here, but the build follows a clear path. Here is the practical sequence. Step 1: Set up your accounts and keys. Create a Vapi account and an ElevenLabs account, and get an API key from each. You will also need an account with a language model provider (like OpenAI or Anthropic) and, for phone calls, a telephony provider like Twilio. Step 2: Choose and configure your voice in ElevenLabs. Pick a voice from the ElevenLabs library, or clone a custom brand voice, and note its voice ID. For real-time conversation, choose one of the low-latency models so responses come back fast enough to feel natural. Step 3: Create the agent in Vapi. In Vapi, define the agent: connect your language model, write the system prompt that gives the agent its personality and rules, and set ElevenLabs as the text-to-speech provider using your API key and chosen voice ID. This is where the pieces come together. Step 4: Write the system prompt carefully. The prompt is where the agent's behavior lives, what it is for, how it should speak, what it must and must not do, and how it handles things it cannot answer. This is the single biggest driver of whether the agent feels helpful or frustrating, so it deserves real attention. Step 5: Connect your tools. If the agent needs to do things, look up an order, book a slot, check availability, connect those actions as tools the language model can call during the conversation. This is what turns it from a talking FAQ into a real agent. Step 6: Attach a phone number and test. Link a telephony number so the agent can take real calls, then test relentlessly with real conversations, not just scripted ones. Real callers interrupt, mumble, and go off-script, and testing is where you find and fix those rough edges. Step 7: Add handoff and safety. Decide when the agent should hand off to a human, and build that path. A good voice agent knows the limits of what it should handle alone. What it actually costs (the honest version) This is where most guides mislead, so here is the real picture. The advertised price is the floor, not the bill. Vapi charges roughly $0.05 per minute for orchestration. That number alone looks cheap, and it is misleading, because it is only the conductor's fee. On top of it you pay separately for speech-to-text, the language model, ElevenLabs for voice, and telephony. The real all-in cost, once you stack every provider, typically lands between $0.15 and $0.40 per minute. ElevenLabs overage runs around $0.08 per minute, more during concurrency spikes. Telephony adds a small per-minute charge. The language model bills by tokens used. Compliance costs extra. If you need HIPAA for healthcare, expect meaningful additional monthly fees on top of usage. Budget it deliberately if you are in a regulated space. The takeaway: model your cost at $0.15 to $0.40 per minute, not $0.05, and you will not be surprised by the first bill. For the fuller picture on agent economics, see our guide on the cost to build an AI agent . The traps to avoid A few mistakes catch almost every first-time builder. Here is how to sidestep them. Underestimating latency. Every provider hop adds delay, and the delays stack. Your slowest component sets the pace of the whole conversation. Choose low-latency models at each layer, and test the real round-trip time, not each piece in isolation. Budgeting only the platform fee. As above, $0.05 per minute is not the cost. Stack every provider before you commit, or the production bill will shock you. A weak system prompt. Most "the agent is dumb" problems are really prompt problems. Invest time here before blaming the model. Skipping real-world testing. Scripted tests pass; real callers break things. Interruptions, background noise, and off-script questions are where agents fail, so test with messy, realistic conversations. No human handoff. An agent that cannot escalate traps callers in a loop. Always build a path to a human for the cases the agent should not handle. Ready to build a voice AI agent? A voice AI agent built on Vapi and ElevenLabs can answer calls, qualify leads, book appointments, and handle support with a voice that actually sounds human, around the clock. The build is very doable, but the details, latency, prompt quality, real cost, and testing, are what separate an agent people trust from one they hang up on. The Craxinno team builds production voice AI agents on exactly this stack, Vapi, ElevenLabs, and AssemblyAI, tuned for low latency and real conversations. See recent AI work in the Craxinno portfolio , view our full stack on the technologies page , or email sales@craxinno.com .

Posted 26.08.2026
Connect With Us

Have something in mind?

We take on a handful of new custom-software engagements every quarter. If your problem is interesting and your timeline is real — let’s talk.

Let’s ConnectAvg. response · under 4 hours
01
Ideate · 1 weekWorkshops, scoping, success metrics agreed.
02
Design + Build · 8–14 weeksBi-weekly demos. Production code from week one.
03
Ship + Support · ongoingDeployment, observability, and a long-tail retainer.