CoreDash API: Kyselyt oikeiden käyttäjien Core Web Vitals -dataan

Tee kyselyitä oikeiden käyttäjien Core Web Vitals -dataan ohjelmallisesti. Käytä sitä skripteistä, CI-putkista tai anna tekoälyagenttisi diagnosoida suorituskykyongelmat automaattisesti.

Arjen Karel Core Web Vitals Consultant
Arjen Karel - linkedin
Last update: 2026-05-29

Trusted by market leaders · Client results

monarchloopearplugsdpg mediaharvardmarktplaatshappyhorizonnestlemy work featured on web.devsaturnerasmusmcfotocasavpncomparealeteiaperionwhowhatwearsnvworkivanina careebaykpnadevinta

Suorituskykydata käytössäsi missä tahansa

CoreDash kerää Core Web Vitals -dataa sivustollasi vierailevilta oikeilta käyttäjiltä. API antaa pääsyn tähän samaan dataan mistä tahansa työkalusta, skriptistä tai tekoälyagentista. Kolme työkalua, JSON sisään, JSON ulos.

Kiinnostavin käyttötapaus: tekoälyn yhdistäminen. CoreDash API käyttää samaa protokollaa kuin Model Context Protocol (MCP). Tämän ansiosta tekoälytyökalut kuten Claude, Cursor ja Windsurf voivat kysyä tietoja suoraan oikeiden käyttäjien datasta. Kysy tekoälyltäsi "miksi LCP:ni on hidas mobiilissa?", ja se hakee vastauksen todellisesta field datasta.

Rakensimme tämän päälle CWV Superpowers -työkalun. Se on tekoälyagentti, joka yhdistää CoreDashin field datan Chrome DevToolsiin Core Web Vitals -ongelmien diagnosoimiseksi ja korjaamiseksi. API mahdollistaa tämän.

Mutta et tarvitse tekoälyagenttia. curl-komento toimii aivan yhtä hyvin.

Pyöritätkö toimistoa tai hallinnoitko useita projekteja yhdeltä tililtä? Tarjolla on erillinen Agency API, joka käyttää pääavainta projektien luomiseen, päivittämiseen ja poistamiseen sekä datan hakemiseen kaikista niistä yhdellä avaimella. Tämän sivun loppuosa käsittelee projektikohtaista data-API:a.

Autentikointi

Jokainen pyyntö vaatii API-avaimen Authorization-otsikossa:

Authorization: Bearer cdk_YOUR_API_KEY

Näin saat avaimen:

  1. Kirjaudu sisään osoitteessa app.coredash.app
  2. Mene projektiisi, sieltä kohtaan AI Insights ja sitten Connect Your AI
  3. Klikkaa Create API Key ja kopioi se. Se näytetään vain kerran.

Avaimet alkavat merkeillä cdk_ ja ne on rajattu yhteen projektiin. Voit luoda useita avaimia ja mitätöidä niitä samalta sivulta.

Pyyntömuoto

API käyttää JSON-RPC 2.0 -protokollaa. Jokainen pyyntö on POST-pyyntö osoitteeseen:

https://app.coredash.app/api/mcp

Pyyntörunko näyttää tältä:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_metrics",
    "arguments": { }
  }
}

Kenttä id voi olla mikä tahansa numero tai merkkijono. Se palautetaan sellaisenaan vastauksessa. Työkaluja on kolme: get_metrics, get_timeseries ja get_histogram.

get_metrics: nykyinen suorituskyky

Palauttaa nykyiset Core Web Vitals -arvot luokituksilla good/improve/poor. Tätä työkalua käytät kysymyksiin kuten "mikä LCP:ni on juuri nyt?".

Parametrit

ParametriTyyppiOletusKuvaus
metricsstringLCP,INP,CLS,FCP,TTFBPilkuilla erotetut palautettavat metriikat
percentilestringp75p50, p75, p80, p90 tai p95
filtersobject{}Suodata dimensioiden mukaan (katso Dimensiot alla)
groupstringRyhmittele tulokset dimension mukaan segmenttien vertailemiseksi
datestring-31dAikaväli: -6h, today, -1d, -7d, -31d
limitnumber100Segmenttien enimmäismäärä ryhmiteltäessä (enintään 500)

Esimerkki: hae kaikki metriikat

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-merkkijonona text-kentässä. Jäsenneltynä 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 }
    }
  }
}

Objekti distribution kertoo, kuinka suuri osa todellisista sivulatauksista sijoittuu kuhunkin luokitukseen. Tämä on usein hyödyllisempää kuin pelkkä p75-arvo. LCP-arvo 2450 ms, josta 61 % on luokassa good, tarkoittaa, että useimmilla käyttäjillä on hyvä kokemus, mutta jakauman häntää vetää p75-arvoa alaspäin.

Esimerkki: vertaa mobiilin ja työpöydän LCP-arvoja

Käytä group-parametria jakaaksesi tulokset minkä tahansa dimension mukaan. Näin selvität, 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"
      }
    }
  }'

Parsed response:

{
  "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, työpöytä 1800 ms. Yhdistetty arvo näyttäisi 2500 ms, ja ajattelisit: "ei loistava, muttei kamalakaan". Ryhmitelty näkymä kertoo todellisen tilanteen: työpöytä on kunnossa, mobiili vaatii työtä.

Esimerkki: suodata tiettyyn sivuun mobiilissa

Yhdistä filters-suodattimia rajataksesi datan juuri siihen liikenteeseen, josta olet kiinnostunut:

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 metriikka-arvot ajanjaksoittain ryhmiteltynä automaattisella trendintunnistuksella. Tätä työkalua käytät kysymyksiin kuten "onko LCP:ni huonontunut?" ja "korjasiko tuo julkaisu regression?".

Parametrit

ParametriTyyppiOletusKuvaus
metricsstringLCP,INP,CLS,FCP,TTFBPilkuilla erotetut metriikat
percentilestringp75Mikä persentiili
filtersobject{}Suodata dimensioiden mukaan
datestring-31dAikaväli
granularitystringdayLohkon koko: hour, 6hours, day, week

Esimerkki: LCP:n trendi viimeisen 7 päivän ajalta

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"
      }
    }
  }'

Parsed response:

{
  "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"
    }
  }
}

Yhteenveto (summary) vertaa ajanjakson jälkimmäistä puoliskoa ensimmäiseen. Trendin arvot ovat improving (yli 5 % parempi), stable (enintään 5 % muutos) tai regressing (yli 5 % huonompi). Tämä tekee timeseries-päätepisteestä hyödyllisen automaattisessa seurannassa: sinun ei tarvitse itse jäsentää yksittäisiä datapisteitä tietääksesi, ovatko asiat menossa huonompaan suuntaan.

get_histogram: jakauman muoto

Palauttaa yksittäisen metriikan jakauman noin 40 lohkona (bucket) ja niiden tapahtumamäärillä. Tätä työkalua käytät, kun p75 näyttää hyvältä, mutta epäilet pitkää häntää, tai kun haluat nähdä suorituskykydatan koko jakauman.

Parametrit

ParametriTyyppiOletusKuvaus
metricstringpakollinenYksittäinen metriikka: LCP, INP, CLS, FCP tai TTFB
filtersobject{}Suodata dimensioiden mukaan
datestring-31dAikaväli

Huomautus: toisin kuin get_metrics, tämä ottaa vastaan vain yhden metric-parametrin (ei metrics). Vain yksi metriikka 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"
      }
    }
  }'

Parsed response:

{
  "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 lohkolla on rajat from/to, arvioitu sivulatausten määrä count kyseisellä välillä sekä luokitus rating, joka perustuu lohkon sijaintiin suhteessa Core Web Vitals -kynnysarvoihin. Viimeisellä lohkolla on to: null, koska se edustaa avointa häntää.

Lohkojen leveydet ovat kiinteitä metriikkakohtaisesti: LCP käyttää 250 ms, INP 25 ms, CLS 0,025, FCP 200 ms ja TTFB 125 ms.

Tämä on hyödyllistä datan jakauman ymmärtämiseksi. p75-arvo 2400 ms voi tarkoittaa, että useimmat käyttäjät saavat noin 2400 ms tuloksen. Se voi myös tarkoittaa, että 60 % käyttäjistä saa alle 1000 ms tuloksen ja hidas mobiililiikenne venyttää jakauman häntää. Histogrammi kertoo, kummasta on kyse.

Dimensiot

Käytä näitä avaimia filters-suodattimissa tai group-arvona. Suodattaminen rajaa datan tiettyyn segmenttiin. Ryhmittely jakaa tulokset, jotta voit vertailla segmenttejä rinnakkain.

Yleiset

AvainNimiEsimerkkiarvot
dLaitetyyppimobile, desktop
ccMaaUS, NL, DE (ISO 3166-1 alpha-2)
ffPolku/products, /checkout (null = /)
uKoko URLTukee *-villikortteja, [neq]-etuliitettä negaatiolle
qsKyselymerkkijonoOsa ?avain=arvo
lbSivun tunnisteMukautettu tunniste RUM-koodinpätkästä (snippet)
browserSelainChrome, Safari, Firefox
osKäyttöjärjestelmäAndroid, iOS, Windows
ntNavigaation tyyppinavigate, back_forward, reload
fvVierailijan tyyppi0 = palaava, 1 = uusi vierailija
liKirjautumistila0 = uloskirjautunut, 1 = sisäänkirjautunut, 2 = ylläpitäjä
noNavigaation alkuperä1 = sama alkuperä, 2 = eri alkuperä
abA/B-testiMukautettu testitunniste

Laite ja verkko

AvainNimiYksikkö
mLaitteen muistiGB
dlVerkon nopeusMbps
ccsClient Capability Score1=Erinomainen, 2=Hyvä, 3=Kohtalainen, 4=Rajoitettu, 5=Erittäin rajoitettu
redirUudelleenohjausten määrälukumäärä

Metriikan attribuutio

Nämä dimensiot kertovat, mikä aiheutti metriikan arvon. Ryhmittele avaimella lcpel nähdäksesi, mitkä elementit muodostavat LCP-arvon sivuillasi. Ryhmittele avaimella inpel löytääksesi vuorovaikutukset, jotka aiheuttavat huonoimmat INP-arvot.

AvainNimiMetriikalle
lcpelLCP-elementtiLCP
lcpetLCP-elementin tyyppiLCP: text, image, background-image, video
lcpprioLCP-prioriteettiLCP: 1=Preloaded, 2=High fetchpriority, 3=Not preloaded, 4=Lazy loaded
lcpurlLCP-kuvan URL-osoiteLCP
inpelINP-elementtiINP
inpitINP-syötteen tyyppiINP
inplsINP-lataustilaINP
lurlLOAF-skriptin URL-osoiteINP
clselCLS-elementtiCLS

Suodatinesimerkkejä

{ "d": "mobile" }
{ "ff": "/checkout", "d": "desktop" }
{ "cc": "US", "browser": "Chrome" }
{ "u": "[neq]*/admin/*" }

Metriikkaviitteet

MetriikkaNimiYksikköHyväVaatii parannustaHuono
LCPLargest Contentful Paintms< 25002500–4000> 4000
INPInteraction to Next Paintms< 200200–500> 500
CLSCumulative Layout Shift< 0,10,1–0,25> 0,25
FCPFirst Contentful Paintms< 18001800–3000> 3000
TTFBTime to First Bytems< 800800–1800> 1800

Oletuspersentiili on p75. Tätä Google käyttää Core Web Vitals -sijoituksissa. Jos 75 % sivulatauksistasi jää kynnysarvon alle, läpäiset vaatimukset.

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äly saa tällöin käyttöönsä työkalut get_metrics, get_timeseries ja get_histogram ja voi kysyä field dataasi osana mitä tahansa keskustelua.

Näin CWV Superpowers toimii: se yhdistää CoreDashiin MCP:n kautta, hakee oikeiden käyttäjiesi datan, avaa sivustosi Chromessa ja selvittää hitaan metriikan tarkan syyn. API tarjoaa tiedon siitä, mitä tuotannossa tapahtuu, ja Chrome kertoo, miksi niin tapahtuu.

Voit myös yhdistää MCP-palvelimen omaan tekoäly-ympäristöösi. Osoita MCP-asiakasohjelmasi osoitteeseen https://app.coredash.app/api/mcp API-avaimesi kanssa, ja tekoälysi voi vastata kysymyksiin kuten "millä sivuilla on huonoin INP mobiilissa?" käyttäen arvausten sijaan todellista field dataa.

Käyttörajat

Rajat ovat projektikohtaisia per päivä, ja ne nollautuvat keskiyöllä UTC-aikaa.

PakettiPäivittäiset pyynnöt
Trial150
Starter500
Standard500
Pro500+
Enterprise500+

Kokeilupaketin (trial) 150 pyyntöä riittää mainiosti manuaaliseen tutkimiseen ja tekoälyavusteiseen virheenkorjaukseen. Jos ajat automaattista seurantaa CI-ympäristössä, maksulliset paketit tarjoavat 500 pyyntöä 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." }
}
KoodiHTTP-tilaMerkitys
-32001401Virheellinen tai puuttuva API-avain
-32002429Käyttöraja ylittynyt
-32600400Virheellinen pyyntö (malformed)
-32601200Tuntematon metodi
-32602200Tuntematon työkalu tai puuttuvia parametreja
-32603500Sisäinen palvelinvirhe

Jos saat virheen -32001, tarkista, että avaimesi alkaa merkeillä cdk_ ja ettei sitä ole mitätöity. Jos saat virheen -32002, päivittäinen rajasi on täynnä. Odota nollausta keskiyöllä UTC-aikaa tai päivitä tilaustasi.

CoreDash API: Kyselyt oikeiden käyttäjien Core Web Vitals -dataanCore Web Vitals CoreDash API: Kyselyt oikeiden käyttäjien Core Web Vitals -dataan