CoreDash API: Kysy todellisten käyttäjien Core Web Vitals -tietoja
Kysy todellisten käyttäjien Core Web Vitals -tietojasi ohjelmallisesti. Käytä sitä skripteistä, CI-liukuhihnoista tai anna tekoälyagenttisi diagnosoida suorituskykyongelmia automaattisesti.

Suorituskykytietosi, missä tahansa niitä tarvitsetkin
CoreDash kerää Core Web Vitals -tietoja todellisilta käyttäjiltä, jotka vierailevat sivustollasi. API antaa sinulle pääsyn samoihin tietoihin mistä tahansa työkalusta, skriptistä tai tekoälyagentista. Kolme työkalua, JSON sisään, JSON ulos.
Mielenkiintoisin käyttötapaus: tekoälysi yhdistäminen. CoreDash API käyttää samaa protokollaa kuin Model Context Protocol (MCP), mikä tarkoittaa, että tekoälytyökalut, kuten Claude, Cursor ja Windsurf, voivat kysyä todellisten käyttäjien tietojasi suoraan. Kysy tekoälyltäsi "miksi LCP on hidas mobiilissa?" ja se hakee todelliset kenttätiedot vastatakseen.
Rakensimme CWV Superpowers -työkalun tämän päälle. Se on tekoälyagentti, joka yhdistää CoreDash -kenttätietosi Chrome DevToolsiin diagnosoidakseen ja korjatakseen Core Web Vitals -ongelmia. API on se, mikä tekee sen mahdolliseksi.
Mutta et tarvitse tekoälyagenttia. curl-komento toimii aivan yhtä hyvin.
Todennus
Jokainen pyyntö tarvitsee API-avaimen Authorization-otsikossa:
Authorization: Bearer cdk_YOUR_API_KEY
Avaimen hankkiminen:
- Kirjaudu sisään osoitteessa app.coredash.app
- Mene projektiisi, sitten AI Insights, sitten Connect Your AI
- Napsauta Create API Key ja kopioi se. Se näytetään vain kerran.
Avaimet alkavat cdk_ ja on rajattu yhteen projektiin. Voit luoda useita avaimia ja peruuttaa ne samalta sivulta.
Pyyntömuoto
API käyttää JSON-RPC 2.0:aa. Jokainen pyyntö on POST osoitteeseen:
https://app.coredash.app/api/mcp Pyynnön runko näyttää tältä:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_metrics",
"arguments": { }
}
} id-kenttä voi olla mikä tahansa numero tai merkkijono. Se palautetaan takaisin vastauksessa. Työkaluja on kolme: get_metrics, get_timeseries ja get_histogram.
get_metrics: nykyinen suorituskyky
Palauttaa nykyiset Core Web Vitals -arvot hyvillä/paranna/huonoilla arvioilla. Tämä on työkalu, jota käytät "mikä on LCP juuri nyt?" -tyyppisiin kysymyksiin.
Parametrit
| Parametri | Tyyppi | Oletus | Kuvaus |
|---|---|---|---|
metrics | string | LCP,INP,CLS,FCP,TTFB | Pilkuilla erotetut palautettavat mittarit |
percentile | string | p75 | p50, p75, p80, p90, tai p95 |
filters | object | {} | Suodata ulottuvuuksien mukaan (katso Ulottuvuudet alla) |
group | string | Ryhmittele tulokset ulottuvuusavaimen mukaan segmenttien vertailemiseksi | |
date | string | -31d | Aikaväli: -6h, today, -1d, -7d, -31d |
limit | number | 100 | Segmenttien enimmäismäärä ryhmiteltäessä (enintään 500) |
Esimerkki: hae kaikki mittarit
curl -X POST https://app.coredash.app/api/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer cdk_YOUR_API_KEY" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_metrics",
"arguments": {}
}
}' Raakavastaus on JSON-RPC-kääre:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [{
"type": "text",
"text": "{ ... JSON string ... }"
}]
}
} Varsinainen data on JSON-merkkijono text-kentän sisällä. Jäsennettynä se näyttää tältä:
{
"period": "last 31 days",
"percentile": "p75",
"metrics": {
"LCP": {
"value": 2450,
"unit": "ms",
"rating": "improve",
"distribution": { "good": 61.2, "improve": 22.4, "poor": 16.4 }
},
"INP": {
"value": 180,
"unit": "ms",
"rating": "good",
"distribution": { "good": 82.1, "improve": 12.3, "poor": 5.6 }
},
"CLS": {
"value": 0.08,
"unit": "",
"rating": "good",
"distribution": { "good": 74.5, "improve": 18.2, "poor": 7.3 }
}
}
} distribution-objekti kertoo sinulle, mikä prosenttiosuus todellisista sivulatauksista osuu kuhunkin luokitukseen. Tämä on usein hyödyllisempi kuin pelkkä p75-arvo. LCP 2450 ms ja 61 % hyvä tarkoittaa, että useimmilla käyttäjillä on hyvä kokemus, mutta häntä vetää p75:tä alaspäin.
Esimerkki: vertaa mobiili ja työpöytä LCP:tä
Käytä group-parametriä tulosten jakamiseksi minkä tahansa ulottuvuuden mukaan. Näin saat selville, onko LCP-ongelmasi mobiiliongelma:
curl -X POST https://app.coredash.app/api/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer cdk_YOUR_API_KEY" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_metrics",
"arguments": {
"metrics": "LCP",
"group": "d",
"date": "-7d"
}
}
}' Jäsennetty vastaus:
{
"period": "last 7 days",
"percentile": "p75",
"groupedBy": "d",
"groupName": "Device Type",
"segments": [
{
"segment": "mobile",
"value": "mobile",
"metrics": {
"LCP": {
"value": 3200, "unit": "ms", "rating": "improve",
"distribution": { "good": 52.3, "improve": 28.1, "poor": 19.6 }
}
}
},
{
"segment": "desktop",
"value": "desktop",
"metrics": {
"LCP": {
"value": 1800, "unit": "ms", "rating": "good",
"distribution": { "good": 78.5, "improve": 15.2, "poor": 6.3 }
}
}
}
]
} Mobiili 3200 ms kohdalla, työpöytä 1800 ms kohdalla. Yhdistelmä näyttäisi 2500 ms ja luulisit "ei hienoa, mutta ei kamalaakaan". Ryhmitelty näkymä näyttää todellisen tarinan: työpöytä on kunnossa, mobiili vaatii työtä.
Esimerkki: suodata tietylle sivulle mobiilissa
Yhdistä filters rajataksesi täsmälleen sinua kiinnostavaan liikenteeseen:
curl -X POST https://app.coredash.app/api/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer cdk_YOUR_API_KEY" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "get_metrics",
"arguments": {
"metrics": "LCP,CLS",
"filters": { "ff": "/checkout", "d": "mobile" },
"date": "-7d"
}
}
}' get_timeseries: suorituskyky ajan myötä
Palauttaa mittariarvot ajallisesti ryhmiteltyinä automaattisella trendien tunnistuksella. Tämä on työkalu, jota käytät kysymyksiin "onko LCP:ni huonontunut?" ja "korjasiko tuo julkaisu regression?"
Parametrit
| Parametri | Tyyppi | Oletus | Kuvaus |
|---|---|---|---|
metrics | string | LCP,INP,CLS,FCP,TTFB | Pilkuilla erotetut mittarit |
percentile | string | p75 | Mikä prosenttipiste (percentile) |
filters | object | {} | Suodata ulottuvuuksien mukaan |
date | string | -31d | Aikaväli |
granularity | string | day | Lokerokoko: hour, 6hours, day, week |
Esimerkki: LCP-trendi viimeisten 7 päivän aikana
curl -X POST https://app.coredash.app/api/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer cdk_YOUR_API_KEY" \
-d '{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "get_timeseries",
"arguments": {
"metrics": "LCP",
"date": "-7d",
"granularity": "day"
}
}
}' Jäsennetty vastaus:
{
"period": "last 7 days",
"percentile": "p75",
"granularity": "day",
"dataPoints": 7,
"timeseries": [
{ "date": "2026-03-10T00:00:00.000Z", "LCP": { "value": 2600, "unit": "ms", "rating": "improve" } },
{ "date": "2026-03-11T00:00:00.000Z", "LCP": { "value": 2450, "unit": "ms", "rating": "improve" } },
{ "date": "2026-03-12T00:00:00.000Z", "LCP": { "value": 2300, "unit": "ms", "rating": "good" } }
],
"summary": {
"LCP": {
"recent": 2350,
"previous": 2680,
"change": -12.3,
"trend": "improving",
"unit": "ms"
}
}
} summary vertailee ajanjakson jälkimmäistä puoliskoa ensimmäiseen puoliskoon. Trendiarvot ovat improving (yli 5 % parempi), stable (5 % sisällä), tai regressing (yli 5 % huonompi). Tämä tekee aikasarjapäätepisteestä hyödyllisen automatisoituun seurantaan: sinun ei tarvitse jäsentää datapisteitä itse tietääksesi, ovatko asiat menossa huonompaan suuntaan.
get_histogram: jakauman muoto
Palauttaa yhden mittarin jakauman noin 40 lokerona, joissa on lukumäärät aluetta kohden. Tämä on työkalu, jota käytät, kun p75 näyttää hyvältä, mutta epäilet pitkää häntää, tai kun haluat nähdä suorituskykytietojesi koko muodon.
Parametrit
| Parametri | Tyyppi | Oletus | Kuvaus |
|---|---|---|---|
metric | string | required | Yksittäinen mittari: LCP, INP, CLS, FCP, tai TTFB |
filters | object | {} | Suodata ulottuvuuksien mukaan |
date | string | -31d | Aikaväli |
Huomautus: toisin kuin get_metrics, tämä ottaa vastaan yksittäisen metric-parametrin (ei metrics). Yksi mittari per pyyntö.
Esimerkki: LCP-jakauma mobiilissa
curl -X POST https://app.coredash.app/api/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer cdk_YOUR_API_KEY" \
-d '{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "get_histogram",
"arguments": {
"metric": "LCP",
"filters": { "d": "mobile" },
"date": "-7d"
}
}
}' Jäsennetty vastaus:
{
"period": "last 7 days",
"metric": "LCP",
"unit": "ms",
"filters": { "d": "mobile" },
"buckets": [
{ "from": 0, "to": 250, "count": 1250, "rating": "good" },
{ "from": 250, "to": 500, "count": 3400, "rating": "good" },
{ "from": 500, "to": 750, "count": 2800, "rating": "good" },
{ "from": 2500, "to": 2750, "count": 890, "rating": "improve" },
{ "from": 4000, "to": 4250, "count": 120, "rating": "poor" },
{ "from": 9750, "to": null, "count": 15, "rating": "poor" }
],
"total": 45000
} Jokaisella lokerolla on from/to-rajat, arvioitujen sivulatausten count kyseisellä alueella ja rating, joka perustuu siihen, missä lokero sijaitsee suhteessa Core Web Vitals -kynnyksiin. Viimeisellä lokerolla on to: null, koska se on avoin häntä.
Lokerojen leveydet ovat kiinteitä mittaria kohden: LCP käyttää 250 ms, INP käyttää 25 ms, CLS käyttää 0.025, FCP käyttää 200 ms, TTFB käyttää 125 ms.
Tämä on hyödyllistä tietojesi muodon ymmärtämiseksi. p75-arvo 2400 ms voisi tarkoittaa, että useimmat käyttäjät ovat noin 2400 ms tienoilla, tai se voisi tarkoittaa, että 60 % on alle 1000 ms ja osa hitaasta mobiililiikenteestä vetää häntää. Histogrammi kertoo sinulle, kumpi on kyseessä.
Ulottuvuudet
Käytä näitä avaimia filters-parametrissa tai group-arvona. Suodatus rajaa datan tiettyyn segmenttiin. Ryhmittely jakaa tulokset, jotta voit vertailla segmenttejä rinnakkain.
Yleiset
| Avain | Nimi | Esimerkkiarvot |
|---|---|---|
d | Laitetyyppi | mobile, desktop |
cc | Maa | US, NL, DE (ISO 3166-1 alpha-2) |
ff | Polun nimi | /products, /checkout (null = /) |
u | Koko URL | Tukee * jokereita, [neq] etuliitettä negaatiolle |
qs | Kyselymerkkijono | Osa ?key=value |
lb | Sivun tunniste | Mukautettu tunniste RUM-koodinpätkästä |
browser | Selain | Chrome, Safari, Firefox |
os | Käyttöjärjestelmä | Android, iOS, Windows |
nt | Navigointityyppi | navigate, back_forward, reload |
fv | Vierailijatyyppi | 0 = palaava, 1 = uusi vierailija |
li | Sisäänkirjautumisen tila | 0 = kirjautunut ulos, 1 = kirjautunut sisään, 2 = ylläpitäjä |
no | Navigoinnin alkuperä | 1 = sama alkuperä, 2 = ristiin alkuperä |
ab | A/B-testi | Mukautettu testitunniste |
Laite ja verkko
| Avain | Nimi | Yksikkö |
|---|---|---|
m | Laitteen muisti | GB |
dl | Verkon nopeus | Mbps |
ccs | Client Capability Score | 1=Excellent, 2=Good, 3=Moderate, 4=Limited, 5=Constrained |
redir | Uudelleenohjausten määrä | määrä |
Mittarien attribuutio
Nämä ulottuvuudet kertovat sinulle, mikä aiheutti mittariarvon. Ryhmittele lcpel-avaimella nähdäksesi, mitkä elementit muodostuvat LCP:ksi sivuillasi. Ryhmittele inpel-avaimella löytääksesi vuorovaikutukset, jotka tuottavat huonoimman INP:n.
| Avain | Nimi | Mittarille |
|---|---|---|
lcpel | LCP-elementti | LCP |
lcpet | LCP-elementin tyyppi | LCP: text, image, background-image, video |
lcpprio | LCP-prioriteetti | LCP: 1=Preloaded, 2=High fetchpriority, 3=Not preloaded, 4=Lazy loaded |
lcpurl | LCP-kuvan URL | LCP |
inpel | INP-elementti | INP |
inpit | INP-syötetyyppi | INP |
inpls | INP-lataustila | INP |
lurl | LOAF-skriptin URL | INP |
clsel | CLS-elementti | CLS |
Suodatinesimerkkejä
{ "d": "mobile" }
{ "ff": "/checkout", "d": "desktop" }
{ "cc": "US", "browser": "Chrome" }
{ "u": "[neq]*/admin/*" } Mittarien viite
| Mittari | Nimi | Yksikkö | Hyvä | Tarvitsee parannusta | Huono |
|---|---|---|---|---|---|
LCP | Largest Contentful Paint | ms | < 2500 | 2500 - 4000 | > 4000 |
INP | Interaction to Next Paint | ms | < 200 | 200 - 500 | > 500 |
CLS | Cumulative Layout Shift | < 0.1 | 0.1 - 0.25 | > 0.25 | |
FCP | First Contentful Paint | ms | < 1800 | 1800 - 3000 | > 3000 |
TTFB | Time to First Byte | ms | < 800 | 800 - 1800 | > 1800 |
Oletusprosenttipiste on p75. Tätä Google käyttää Core Web Vitals -sijoituksissa. Jos 75 % sivulatauksistasi on alle kynnyksen, läpäiset.
API:n käyttö MCP-palvelimena
API-päätepiste on täysin yhteensopiva MCP-palvelin. Jos tekoälytyökalusi tukee MCP:tä (Claude Code, Cursor, Windsurf ja muut), voit yhdistää sen suoraan. Tekoälyllä on silloin pääsy työkaluihin get_metrics, get_timeseries ja get_histogram, ja se voi kysyä kenttätietojasi osana mitä tahansa keskustelua.
Näin CWV Superpowers toimii: se yhdistää CoreDashiin MCP:n kautta, hakee todellisten käyttäjien tietosi, avaa sivustosi Chromessa ja jäljittää tarkan syyn hitaalle mittarille. API tarjoaa "mitä tuotannossa tapahtuu" -osan, Chrome tarjoaa "miksi se tapahtuu" -osan.
Voit myös yhdistää MCP-palvelimen omaan tekoälyasetukseesi. Osoita MCP-asiakasohjelmasi osoitteeseen https://app.coredash.app/api/mcp API-avaimellasi, ja tekoälysi voi vastata kysymyksiin kuten "millä sivuilla on huonoin INP mobiilissa?" käyttämällä todellisia kenttätietoja arvaamisen sijaan.
Pyyntöjen rajoitukset
Rajoitukset ovat projektikohtaisia ja päiväkohtaisia, ja ne nollautuvat keskiyöllä UTC-aikaa.
| Tilaus | Päivittäisiä pyyntöjä |
|---|---|
| Trial | 150 |
| Starter | 500 |
| Standard | 500 |
| Pro | 500+ |
| Enterprise | 500+ |
150 pyyntöä Trial-tilauksessa riittää mainiosti manuaaliseen tutkimiseen ja tekoälyavusteiseen virheenkorjaukseen. Jos suoritat automatisoitua seurantaa CI:ssä, maksulliset tilaukset antavat 500 päivässä.
Virheiden käsittely
Virheet palautetaan JSON-RPC-virheobjekteina:
{
"jsonrpc": "2.0",
"id": 1,
"error": { "code": -32001, "message": "Invalid or revoked API key." }
} | Koodi | HTTP-tila | Merkitys |
|---|---|---|
-32001 | 401 | Virheellinen tai puuttuva API-avain |
-32002 | 429 | Pyyntörajoitus ylitetty |
-32600 | 400 | Virheellinen pyyntö |
-32601 | 200 | Tuntematon metodi |
-32602 | 200 | Tuntematon työkalu tai puuttuvia parametreja |
-32603 | 500 | Sisäinen palvelinvirhe |
Jos saat virheen -32001, tarkista, että avaimesi alkaa cdk_ ja että et ole peruuttanut sitä. Jos saat virheen -32002, olet saavuttanut päivittäisen rajan. Odota keskiyön UTC-nollausta tai päivitä tilauksesi.

