Browse docs
Sprid docs

Query connected data

Your agent can investigate through the connections you save in Sprid.

Ask a follow-up

Which onboarding step loses people on Android? Check the event order and compare app versions.

Your agent picks a query and Sprid calls the provider with the credentials you saved. No separate provider MCP per repository.

How the agent finds available queries

list_marketing_queries returns supported operations, parameter schemas and missing setup for your App Profile. query_marketing_source runs a selected read. The results identify their scope and coverage limits.

Sprid returns the provider’s data; your agent writes the analysis and checks it against your code. Your own database stays with your local tools.

What each service can read

Your saved connection decides which app, project or account is queried.

PostHog

Project-pinned analytics. SQL is HogQL; inspect instrumentation before interpreting events.

query

Run a custom read-only HogQL query for cohorts, ordered funnels, activation or retention.

Example parameters. Replace the dates and identifiers with your own.

{
  "query": "SELECT event, count() FROM events WHERE timestamp >= '2026-08-01' AND timestamp < '2026-09-01' GROUP BY event LIMIT 100"
}
ParameterMeaning
query (required)SELECT/WITH HogQL. Use explicit dates, identity and exclusions.
events

Discover event definitions before constructing a query.

Example parameters. Replace the dates and identifiers with your own.

{
  "limit": 50
}
ParameterMeaning
namesarray
limitRows per page; continue with the returned next parameters.
offsetZero-based offset.
properties

Discover property definitions before constructing a query.

Example parameters. Replace the dates and identifiers with your own.

{
  "limit": 50
}
ParameterMeaning
searchProperty name search.
limitRows per page; continue with the returned next parameters.
offsetZero-based offset.
Search Console

Pinned Search Console property. Dates use Pacific time; anonymized queries and top-row limits affect coverage.

search

Query search performance by dimensions and filters, including page/market/keyword comparisons.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "dimensions": [
    "page",
    "country"
  ],
  "limit": 1000
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
dimensionsarray
filtersarray
typeSearch type. Values: web, image, video, news, discover, googleNews.
dataStateFinal or preliminary data. Values: final, all.
limitRows per page.
startRowZero-based pagination offset.
Cloudflare

RUM is pinned to the saved account and website hostname. Beacon traffic is sampled and is not verified human traffic.

rum

Group website beacon traffic by date, page, referrer or country.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "dimensions": [
    "requestPath",
    "countryName"
  ],
  "limit": 100
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
dimensionsarray
pathExact request path.
countryExact countryName.
referrerExact refererHost.
limitMaximum groups.
http

Read daily zone requests, page views and country totals. Includes bots; no silent RUM fallback.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01"
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
App Store Connect

Pinned app. Reviews and existing analytics report definitions are read-only. No report request is created.

reviews

Read app reviews by rating, territory and response status.

Example parameters. Replace the dates and identifiers with your own.

{
  "rating": 2,
  "limit": 100
}
ParameterMeaning
ratingExact star rating.
territoryThree-letter App Store territory.
existsPublishedResponseWhether a published developer response exists.
sortOrdering. Values: createdDate, -createdDate, rating, -rating.
limitReviews per page.
cursorOpaque cursor from the previous result. Never a URL.
versions

Inspect App Store version and release-state records for this app.

Example parameters. Replace the dates and identifiers with your own.

{
  "limit": 50
}
ParameterMeaning
limitVersions per page.
cursorOpaque cursor from the previous result. Never a URL.
reports

List existing analytics requests and their report names. Does not enable report generation.

Example parameters. Replace the dates and identifiers with your own.

{}
ParameterMeaning
report_rows

Read an existing named daily report with its original columns, date window and exact-value filters.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "report": "App Downloads Standard",
  "limit": 500
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
report (required)Exact report name returned by reports.
filtersobject
limitMaximum matching rows.
offsetMatching-row offset.
Google Play

Pinned package. Live reviews have provider history limits; exported acquisition rows require the saved Play export bucket.

reviews

Read the app’s live review page; use stored reviews for older collected history.

Example parameters. Replace the dates and identifiers with your own.

{
  "limit": 100
}
ParameterMeaning
translationLanguageOptional translation language, such as en.
limitRows per page; continue with the returned next parameters.
cursorOpaque cursor from the previous result. Never a URL.
report_rows

Read package-scoped monthly acquisition exports with original column names and exact-value filters.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "dimension": "country",
  "limit": 500
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
dimension (required)Install export breakdown. Values: overview, country, device, app_version, android_version, language, carrier.
filtersobject
limitMaximum matching rows.
offsetMatching-row offset.
RevenueCat

Pinned project. Discover chart options before selecting dimensions, filters or resolution; preserve returned measure units.

chart_options

Discover available resolutions, segments, filters and selectors for a chart.

Example parameters. Replace the dates and identifiers with your own.

{
  "chart": "revenue"
}
ParameterMeaning
chart (required)Chart name from RevenueCat documentation, such as revenue, mrr, trials or churn.
revenue

Read the authoritative RevenueCat project revenue total for an explicit period.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "currency": "USD",
  "revenue_type": "revenue"
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
currencyRequested reporting currency.
revenue_typeRevenue basis. Values: revenue, revenue_net_of_taxes, proceeds.
chart

Query a chart with provider-supported segmentation and filters; returns original measures.

Example parameters. Replace the dates and identifiers with your own.

{
  "chart": "revenue",
  "start": "2026-08-01",
  "end": "2026-09-01",
  "resolution": "0"
}
ParameterMeaning
chart (required)Chart name from RevenueCat documentation, such as revenue, mrr, trials or churn.
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
resolution (required)Resolution ID from chart_options, not a guessed day/week label.
segmentSegment from chart_options.
filtersarray
selectorsobject
currencyCurrency code.
limit_num_segmentsTop segments; provider may combine the remainder as Other.
subscriptions

Inspect a customer’s subscriptions within the bound RevenueCat project.

Example parameters. Replace the dates and identifiers with your own.

{
  "customer": "example-customer",
  "limit": 100
}
ParameterMeaning
customer (required)RevenueCat customer ID; preserve the app’s verified identity mapping.
environmentDefaults to production. Keep sandbox separate from paid customer evidence. Values: production, sandbox.
limitRows per page; continue with the returned next parameters.
cursorOpaque cursor from the previous result. Never a URL.
Stripe

Credential-scoped merchant account. Filter by price/customer as appropriate when several products share the account. Amounts retain currency and minor units; SQL/Stripe Analytics is not exposed.

subscriptions

Read subscriptions, status and lifecycle dates, optionally filtered by price/customer. Dates filter creation, not cancellation.

Example parameters. Replace the dates and identifiers with your own.

{
  "status": "trialing",
  "limit": 100
}
ParameterMeaning
startFirst calendar date, inclusive.
endLast boundary, exclusive. Provider date conventions are retained in the result.
customerStripe customer ID.
limitRows per page; continue with the returned next parameters.
cursorOpaque cursor from the previous result. Never a URL.
statusSubscription status. Values: all, active, trialing, past_due, unpaid, canceled, incomplete, incomplete_expired, paused.
priceStripe price ID for the app or offer.
charges

Read charge outcomes, refunds and amounts by creation window or customer.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "limit": 100
}
ParameterMeaning
startFirst calendar date, inclusive.
endLast boundary, exclusive. Provider date conventions are retained in the result.
customerStripe customer ID.
limitRows per page; continue with the returned next parameters.
cursorOpaque cursor from the previous result. Never a URL.
Polar

Pinned organization. Product filters distinguish apps sold through the same organization.

metrics

Query metric history filtered by product, customer or billing type.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "interval": "day",
  "metrics": [
    "revenue",
    "active_subscriptions"
  ]
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
intervalBucket interval. Values: hour, day, week, month, year.
product_idPolar product ID.
customer_idPolar customer ID.
billing_typeBilling type. Values: one_time, recurring.
metricsarray
orders

Read orders for the bound organization with product/customer filters.

Example parameters. Replace the dates and identifiers with your own.

{
  "limit": 100,
  "page": 1
}
ParameterMeaning
product_idPolar product ID.
customer_idPolar customer ID.
limitRows per page; continue with the returned next parameters.
pageOne-based page.
subscriptions

Read subscriptions for the bound organization with product/customer filters.

Example parameters. Replace the dates and identifiers with your own.

{
  "limit": 100,
  "page": 1
}
ParameterMeaning
product_idPolar product ID.
customer_idPolar customer ID.
limitRows per page; continue with the returned next parameters.
pageOne-based page.
Lemon Squeezy

Pinned store. Product/variant filters distinguish apps in the same store. Preserve provider amounts and currencies.

orders

Read orders from the saved store with supported product filters.

Example parameters. Replace the dates and identifiers with your own.

{
  "limit": 100,
  "page": 1
}
ParameterMeaning
order_numberOrder number.
limitRows per page; continue with the returned next parameters.
pageOne-based page.
subscriptions

Read subscriptions from the saved store with supported product filters.

Example parameters. Replace the dates and identifiers with your own.

{
  "limit": 100,
  "page": 1
}
ParameterMeaning
product_idProduct ID.
variant_idVariant ID.
statusSubscription status.
limitRows per page; continue with the returned next parameters.
pageOne-based page.
subscription-invoices

Read initial, renewal and update invoices from the saved store. Initial invoices duplicate initial orders; preserve billing_reason when calculating revenue.

Example parameters. Replace the dates and identifiers with your own.

{
  "limit": 100,
  "page": 1
}
ParameterMeaning
subscription_idSubscription ID.
statusInvoice status.
refundedFilter refund state.
limitRows per page; continue with the returned next parameters.
pageOne-based page.
Paddle

Credential-scoped merchant account, with sandbox/live from the profile. Dates filter billed or created time as described; monetary values are minor-unit strings.

transactions

Read billed transactions by time, status, customer or subscription.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "status": [
    "completed"
  ],
  "limit": 100
}
ParameterMeaning
startFirst calendar date, inclusive.
endLast boundary, exclusive. Provider date conventions are retained in the result.
statusarray
customer_idPaddle customer ID.
subscription_idPaddle subscription ID.
limitRows per page; continue with the returned next parameters.
cursorOpaque cursor from the previous result. Never a URL.
subscriptions

Read subscription lifecycles by status or price; optional creation dates filter each returned page locally.

Example parameters. Replace the dates and identifiers with your own.

{
  "status": [
    "trialing"
  ],
  "limit": 100
}
ParameterMeaning
startFirst calendar date, inclusive.
endLast boundary, exclusive. Provider date conventions are retained in the result.
statusarray
customer_idPaddle customer ID.
price_idPaddle price ID.
limitRows per page; continue with the returned next parameters.
cursorOpaque cursor from the previous result. Never a URL.
Instagram

Queries Sprid’s stored publishes, metric snapshots and inbox for the linked content account. No live platform sync or paid API read. Missing metrics are unmeasured; this does not expose the platform’s entire API.

posts

Filter stored publishing outcomes with the latest metric snapshot before the exclusive end.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "status": "published",
  "limit": 100
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
statusPublishing status. Values: published, failed, missed, scheduled, pending, rendering, publishing, awaiting_runner.
formatIdSprid format ID.
contentTypePost type. Values: carousel, reel.
limitRows per page; continue with the returned next parameters.
offsetZero-based offset.
comments

Read feedback already collected into Sprid’s Inbox, with optional post and reply filters.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "replied": false,
  "limit": 100
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
postIdSprid post ID.
repliedFilter comments by reply state.
limitRows per page; continue with the returned next parameters.
offsetZero-based offset.
TikTok

Queries Sprid’s stored publishes, metric snapshots and inbox for the linked content account. No live platform sync or paid API read. Missing metrics are unmeasured; this does not expose the platform’s entire API.

posts

Filter stored publishing outcomes with the latest metric snapshot before the exclusive end.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "status": "published",
  "limit": 100
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
statusPublishing status. Values: published, failed, missed, scheduled, pending, rendering, publishing, awaiting_runner.
formatIdSprid format ID.
contentTypePost type. Values: carousel, reel.
limitRows per page; continue with the returned next parameters.
offsetZero-based offset.
comments

Read feedback already collected into Sprid’s Inbox, with optional post and reply filters.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "replied": false,
  "limit": 100
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
postIdSprid post ID.
repliedFilter comments by reply state.
limitRows per page; continue with the returned next parameters.
offsetZero-based offset.
YouTube

Queries Sprid’s stored publishes, metric snapshots and inbox for the linked content account. No live platform sync or paid API read. Missing metrics are unmeasured; this does not expose the platform’s entire API.

posts

Filter stored publishing outcomes with the latest metric snapshot before the exclusive end.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "status": "published",
  "limit": 100
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
statusPublishing status. Values: published, failed, missed, scheduled, pending, rendering, publishing, awaiting_runner.
formatIdSprid format ID.
contentTypePost type. Values: carousel, reel.
limitRows per page; continue with the returned next parameters.
offsetZero-based offset.
comments

Read feedback already collected into Sprid’s Inbox, with optional post and reply filters.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "replied": false,
  "limit": 100
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
postIdSprid post ID.
repliedFilter comments by reply state.
limitRows per page; continue with the returned next parameters.
offsetZero-based offset.
Facebook

Queries Sprid’s stored publishes, metric snapshots and inbox for the linked content account. No live platform sync or paid API read. Missing metrics are unmeasured; this does not expose the platform’s entire API.

posts

Filter stored publishing outcomes with the latest metric snapshot before the exclusive end.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "status": "published",
  "limit": 100
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
statusPublishing status. Values: published, failed, missed, scheduled, pending, rendering, publishing, awaiting_runner.
formatIdSprid format ID.
contentTypePost type. Values: carousel, reel.
limitRows per page; continue with the returned next parameters.
offsetZero-based offset.
comments

Read feedback already collected into Sprid’s Inbox, with optional post and reply filters.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "replied": false,
  "limit": 100
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
postIdSprid post ID.
repliedFilter comments by reply state.
limitRows per page; continue with the returned next parameters.
offsetZero-based offset.
LinkedIn

Queries Sprid’s stored publishes, metric snapshots and inbox for the linked content account. No live platform sync or paid API read. Missing metrics are unmeasured; this does not expose the platform’s entire API.

posts

Filter stored publishing outcomes with the latest metric snapshot before the exclusive end.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "status": "published",
  "limit": 100
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
statusPublishing status. Values: published, failed, missed, scheduled, pending, rendering, publishing, awaiting_runner.
formatIdSprid format ID.
contentTypePost type. Values: carousel, reel.
limitRows per page; continue with the returned next parameters.
offsetZero-based offset.
comments

Read feedback already collected into Sprid’s Inbox, with optional post and reply filters.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "replied": false,
  "limit": 100
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
postIdSprid post ID.
repliedFilter comments by reply state.
limitRows per page; continue with the returned next parameters.
offsetZero-based offset.
X

Queries Sprid’s stored publishes, metric snapshots and inbox for the linked content account. No live platform sync or paid API read. Missing metrics are unmeasured; this does not expose the platform’s entire API.

posts

Filter stored publishing outcomes with the latest metric snapshot before the exclusive end.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "status": "published",
  "limit": 100
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
statusPublishing status. Values: published, failed, missed, scheduled, pending, rendering, publishing, awaiting_runner.
formatIdSprid format ID.
contentTypePost type. Values: carousel, reel.
limitRows per page; continue with the returned next parameters.
offsetZero-based offset.
comments

Read feedback already collected into Sprid’s Inbox, with optional post and reply filters.

Example parameters. Replace the dates and identifiers with your own.

{
  "start": "2026-08-01",
  "end": "2026-09-01",
  "replied": false,
  "limit": 100
}
ParameterMeaning
start (required)First calendar date, inclusive.
end (required)Last boundary, exclusive. Provider date conventions are retained in the result.
postIdSprid post ID.
repliedFilter comments by reply state.
limitRows per page; continue with the returned next parameters.
offsetZero-based offset.

Missing data stays missing. Some reads need extra read permissions or existing store reports. Social queries read collected history and don’t refresh the platforms. Metric evidence covers calculations, currencies and saved evidence files.

Use the terminal

Run in your terminal
sprid marketing-review capabilities --app myapp --source gsc --json

Save the desired parameters as search.json, then run:

Run in your terminal
sprid marketing-review query --app myapp --source gsc --operation search --params-file search.json --json

Use next.params for the next page. Keep truncation and coverage notes with your results. Dates use an exclusive end; provider timezones still apply.

REST endpoints

GET /api/marketing-review/capabilities?workspaceId=ID&app=SLUG

POST /api/marketing-review/query-source?workspaceId=ID&app=SLUG accepts {source, operation, params}. Both use your Sprid bearer and the same implementation as MCP and CLI.

Need a hand?
Colour theme
Back to Sprid ↗