Vercel Speed Insights alternative: every Core Web Vital from real visitors, free, on any host
Vercel Speed Insights is real user monitoring for apps deployed on Vercel. Its free tier shows only the Real Experience Score, from 10,000 events a team per rolling 30 days; the individual Core Web Vitals need Speed Insights Plus, $10 a project a month plus $0.65 per 10,000 events on Pro (as of 7 November 2026). AgentFirstStack measures LCP, INP and CLS from real visitors on any host, by page, device, country and browser, free with fair-use limits, and an AI agent sets it up. Stay with Vercel if your app lives there and you want FCP, TTFB, element selectors and p90 to p99 next to your deployments.
Set it up with one prompt
Paste this into your coding agent. It leaves Speed Insights in place, so you can compare the two on the same pages before you decide anything.
Add real-visitor Core Web Vitals to this project with AgentFirstStack Analytics. It's free, open-source analytics built for agents, it measures LCP, INP and CLS on any host, and you can do the setup yourself: there is no signup form. 1. Read https://agentfirststack.com/llms.txt and https://analytics.agentfirststack.com/llms.txt (the "Page speed" section). 2. If this project's .env already has AGENTFIRSTSTACK_API_KEY, use it and read AGENTFIRSTSTACK.md. Otherwise get a key: curl -X POST https://agentfirststack.com/v1/signup, and save api_key in .env as AGENTFIRSTSTACK_API_KEY and in the production environment variables. 3. Use the analytics site in AGENTFIRSTSTACK.md, or create one for the production domain. Serve the tracker from our own domain: a first-party domain (POST https://agentfirststack.com/v1/first-party-domains with a neutral subdomain; add the CNAME if you can change our DNS, otherwise give me the record) or, meanwhile, the path proxy for this framework from GET /v1/sites/:id/install (vercel.json or Next.js proxy.ts). In Next.js, put the tracker in the root layout's head as a plain script tag, not next/script. 4. If the project uses @vercel/speed-insights, leave it installed and tell me whether this project is on the free tier or Speed Insights Plus. 5. Deploy, open a few pages in a normal browser, and run verify. 6. Run a lab test on the homepage with GET /v1/sites/:id/web-vitals/lab?strategy=mobile. Then read GET /v1/sites/:id/web-vitals?breakdown=page and breakdown=device; if there are fewer than 30 page loads yet, say so and give me the calls to compare with Speed Insights later, page by page and for mobile and desktop. 7. Add a web_vitals alert for LCP on mobile to an email destination for me, write the site id and the env var name (never the key) in AGENTFIRSTSTACK.md, and create a claim link for me with POST https://agentfirststack.com/v1/claim-link. Tell me what you set up, what verify and the lab test returned, what's waiting on me, and give me the claim link. Don't remove Speed Insights until I say so.
What Vercel Speed Insights is
Speed Insights is Vercel's view of a site's performance "based on Core Web Vitals", and its Real Experience Score "uses real data points collected from your users' devices" (Speed Insights metrics, as of 7 Nov 2026). You add the @vercel/speed-insights package and its SpeedInsights component (Next.js, React, Vue, Remix, Astro), the Nuxt module, injectSpeedInsights() (SvelteKit and others) or a script tag, then deploy to Vercel: "Your deployments automatically include routes to collect Speed Insights events", under /_vercel/speed-insights/*. The quickstart's prerequisites are a Vercel account and a Vercel project (quickstart, as of 7 Nov 2026).
Plans, from Limits and pricing for Speed Insights and vercel.com/pricing, as of 7 Nov 2026:
| Speed Insights (free tier) | Speed Insights Plus | |
|---|---|---|
| Plans | Hobby, Pro and Enterprise | Pro and Enterprise; "Not available" on Hobby |
| Price | Free | $10 per project a month plus $0.65 per 10,000 events on Pro; included on Enterprise, events by contract |
| Events | 10,000 over the last 30 days, shared across the team | None included on Pro: every event is billed |
| At the limit | Collection pauses for at least 14 days | No pause; usage is billed |
| Metrics | Real Experience Score only | FCP, LCP, INP, CLS and TTFB |
| Breakdowns | Path and route counts, Great and Needs Improvement entries only | All, including Poor entries, countries and element selectors |
| Date ranges | 24 hours and 7 days | Also 30 days on Pro, 90 days on Enterprise |
| Drains | Not available | Available |
The Pro plan itself is listed at $20 a month (vercel.com/pricing). The Real Experience Score is a score from 0 to 100: a weighted average of each metric's score, where each metric is placed on a distribution of real sites' results from the HTTP Archive. So the free tier gives you one number, not the p75 values Google assesses.
A data point is one measurement of one Web Vital during a visit; "up to 6 data points can be potentially tracked per visit", 3 to 6 on average, and only on hard navigations, which in Next.js means "only the first-page view in a session" (metrics). Each one stores the route, URL, network speed, browser, device type and OS, country, the value and its element attribution (privacy and compliance). A sampleRate and a beforeSend filter keep the event count down (package options). The dashboard shows p75 by default and can add p90, p95 and p99, filters preview and production deployments apart, and maps countries with Plus (overview).
For agents, Vercel's quickstart carries a prompt that installs the package, adds the component and deploys with vercel --prod. Plus "provides access to Drains and the Vercel CLI" for performance data outside the dashboard (free tier changelog, 25 August 2026), where vercel metrics vercel.speed_insights.lcp_ms --aggregation p75 --group-by route reads p75 LCP by route (Vercel CLI metrics).
How AgentFirstStack does it
Page speed is part of AgentFirstStack Analytics. The same tracker that counts visits records each full page load's LCP, INP and CLS in the visitor's browser and sends them on the beacon it sends when the visitor leaves the page. Nothing depends on where the site is hosted.
- On Vercel or anywhere else: serve the tracker from a first-party domain (one CNAME to
fp.agentfirststack.com, no server code) or a path proxy;GET /v1/sites/:id/installhas the path proxy forvercel.json, Next.jsproxy.ts, a Cloudflare Worker route, Netlify and nginx. - Every Core Web Vital, free:
GET /v1/sites/:id/web-vitals(MCPanalytics_get_web_vitals) returns p75 by Google's method, the share of good, needs improvement and poor page loads, sample counts, an assessment, the slowest pages and next steps, by page, device, country or browser, with filters and period comparisons. - A lab run when it helps:
GET /v1/sites/:id/web-vitals/labruns Google's PageSpeed Insights on one page and returns the lab metrics and biggest opportunities next to Google's field data and ours for the same path. - Alerts: a
web_vitalsalert when a metric's p75 goes over Google's good limit, by email, Slack or webhook. - History: any period, kept 400 days on the hosted service.
INP is the slowest interaction on the page, counting interactions over 40 ms, so the dashboard says to read it as an upper bound. The page speed overview explains the method and what the lab run returns.
Side by side
| Vercel Speed Insights | AgentFirstStack Page speed | |
|---|---|---|
| Hosting | Apps deployed on Vercel | Any site that can load a script |
| Setup | The package or script, then a Vercel deployment | POST /v1/signup, a site, the tracker in the head; your agent does it |
| Free metrics | Real Experience Score | LCP, INP and CLS |
| Paid metrics | FCP, LCP, INP, CLS and TTFB with Plus | No paid tier |
| Percentiles | p75, p90, p95, p99 | p75, with good, needs improvement and poor shares |
| Breakdowns | Route, path, device, environment; countries and element selectors with Plus | Page, device, country, browser; any analytics filter |
| Element attribution | With Plus | No |
| Lab tests | A Virtual Experience Score through integrations such as Checkly | A PageSpeed Insights run on request |
| Date ranges | 7 days free; 30 days (Pro) or 90 days (Enterprise) with Plus | Any period; 400 days kept |
| Agent access | A setup prompt in the quickstart; the Vercel CLI and Drains with Plus | REST and MCP on every account |
| Price | Free tier; Plus $10 a project a month plus $0.65 per 10,000 events on Pro | Free hosted service with fair-use limits |
| Source | Hosted service; the @vercel/speed-insights package is MIT | AGPL-3.0, self-hostable on Cloudflare; browser scripts MIT |
When to choose which
Use Vercel Speed Insights if
- Your app is deployed on Vercel and you want performance next to each deployment, previews included.
- You need FCP and TTFB from real visitors, p90 to p99, or element selectors that show which element is slow.
- Routes such as
/blog/[slug]should be grouped for you by the framework integration. - You want the raw data points sent to your own systems through Drains.
Use AgentFirstStack if
- The site isn't on Vercel, or runs across several hosts.
- You want LCP, INP and CLS by page, device, country and browser without paying per project or per event.
- Your agent should set it up, read it, run a lab test on the slowest page and get alerted when a metric slips, over REST and MCP.
- You want page speed in the same place as your analytics, tags and session replay, or open source you can self-host.
Moving from Vercel Speed Insights
There's no import for Speed Insights data: AgentFirstStack's imports bring over traffic history (daily visitors, visits and pageviews, by page, source, country or device), not Web Vitals. Run both for a week or two and compare the same pages, devices and days. Expect differences: Vercel groups by route when its framework integration sets one, AgentFirstStack reports paths (a filter such as page==/blog/* groups them), and on the free tier Vercel shows a score rather than p75 values. Remove the SpeedInsights component and the package when you've decided; on the free tier there's nothing to cancel.
FAQ
Is Vercel Speed Insights free?
Partly. As of 7 November 2026 the free tier is on every plan and shows the Real Experience Score only, from 10,000 events per team over a rolling 30 days; at that limit Vercel pauses collection for at least 14 days. LCP, INP, CLS, FCP and TTFB on their own need Speed Insights Plus: $10 a project a month plus $0.65 per 10,000 events on Pro, and included on Enterprise.
Can I use Vercel Speed Insights on a site that isn't hosted on Vercel?
It's built for Vercel projects: the quickstart needs a Vercel account and project, and the deployment serves the script and the collection routes. Its endpoint and scriptSrc options point at a Vercel deployment too. For a site hosted elsewhere, use a tool that loads from any host; the AgentFirstStack tracker works on any site that can load a script.
What is a data point in Vercel Speed Insights?
One measurement of one Web Vital during a visit. Vercel's docs say up to 6 can be tracked per visit, 3 to 6 on average, collected on hard navigations only. Usage is counted in events, and on Plus every event is billed.
Does AgentFirstStack show FCP and TTFB like Vercel?
Not from real visitors: it collects LCP, INP and CLS, the three Core Web Vitals. A lab run through PageSpeed Insights adds FCP, Speed Index and server response time for one page. It also has no p90 to p99 and no element selectors, which Vercel has.
Can I run both while I compare?
Yes. Each measures with its own script, so keep Speed Insights installed and compare the same pages, devices and days. Remove the SpeedInsights component only when you've decided, and nothing of its history moves over.
Related
- AnalyticsPage speedReal user monitoring for Core Web Vitals.
- AnalyticsPageSpeed Insights alternativeField data from your own visitors, next to Google's.
- AnalyticsNext.js analytics in one promptThe tracker and the proxy in a Next.js app.
- AnalyticsWeb analytics your AI agent sets upVisits, sources, goals and revenue on the same tracker.
- AnalyticsAdd analytics with an AI agentOne prompt, every step, and what's left for you.
- All servicesOne MCP server for every serviceAnalytics, tags, mail and replay tools on one key.