Skip to content

Retrieve your account

GET
/v1/me
curl --request GET \
--url https://api.serpresult.com/v1/me \
--header 'Authorization: Bearer <token>'

The account behind the calling credential: its email, plan, the credits it can still spend and, for an API key, the key’s own name and mode. The recommended connection test: a 200 means the credential is valid.

Costs 0 credits and is not written to the query history. It counts as one hit against the caller’s per-minute rate limit. A dashboard session gets api_key: null.

The account.

Media typeapplication/json
object
email
required

The account’s email address. Empty for a marketplace subscriber.

string
plan
required

The plan the account is on.

string
default: trial
Allowed values: trial starter growth business enterprise
credits_available
required

Credits the account can still spend — the period’s remaining quota plus the credit-pack balance.

integer
api_key
required
Any of:

The API key that made the call.

object
id
required

The key’s id, as listed in the dashboard and by GET /v1/api-keys.

string
label
required

The name the key was given when it was created.

string
mode
required

Whether this is an sk_live_ or an sk_test_ key.

string
Allowed values: live test
Example
{
"email": "[email protected]",
"plan": "growth",
"credits_available": 48210,
"api_key": {
"id": "key_3f2a9c1e7b4d4e8a9f602c1d8e5b7a90",
"label": "Zapier",
"mode": "live"
}
}
X-Request-Id
string format: uuid

The id of this request, identical to request_id in any error body. Quote it in a support request.

X-RateLimit-Limit
integer

Requests allowed per rolling 60-second window for this credential.

X-RateLimit-Remaining
integer

Requests left in the window, after this one.

X-RateLimit-Reset
integer

Unix time (seconds) at which the current window ends.

No accepted credential (unauthorized). A session-only route answers this to a bearer key; the demo header answers this when a credential rides along with it.

Media typeapplication/json

The shape of every error response.

object
error
required

Every code the API emits.

  • invalid_request — validation failed; issues lists the fields.
  • unsupported_geo — geo is not supported; details lists the supported codes.
  • unsupported_parameter — the target cannot serve page, num or safe as sent.
  • unauthorized — no accepted credential.
  • not_found — unknown route, or an API key id not on this account.
  • rate_limited — per-minute limit spent.
  • quota_exceeded — the period’s quota and the credit balance are both spent. Not charged.
  • upstream_error — the search provider failed. Charged.
  • upstream_timeout — the search provider did not answer in time. Charged.
  • no_subscription — a plan change or a credit-pack purchase was asked for on an account with no active subscription.
  • plan_unchanged — a plan change was asked for on the plan the account is already on.
  • billing_unavailable — purchases are closed on this deployment: either it is not wired to Polar, or direct checkout is switched off while the same plans are sold on RapidAPI.
  • internal_error — a fault on our side. Not charged.
string
Allowed values: invalid_request unsupported_geo unsupported_parameter unauthorized not_found rate_limited quota_exceeded upstream_error upstream_timeout no_subscription plan_unchanged billing_unavailable internal_error
message
required

Human-readable, safe to show to an end user.

string
request_id
required

Same value as the X-Request-Id header.

string format: uuid
details

On unsupported_geo only, the supported country codes.

Array<string>
Allowed values: us in gb ca au de fr sg ae jp ad af ag al am ao ar at aw az ba bb bd be bf bg bh bi bj bn bo br bs bw by bz cd cg ch ci cl cm cn co cr cu cv cy cz dk do dz ec ee eg es et fi fj fm fo ga gd ge gf gg gh gm gp gq gr gt gu gy hk hn hr ht hu id ie il iq ir is it jm jo ke kg kh km kn kr kw ky kz la lb lc lk lr ls lt lu lv ly ma md me mg mk ml mm mn mo mp mq mr mt mu mv mw mx my mz na nc ne ng ni nl no np nz om pa pe pf pg ph pk pl pr ps pt pw py qa re ro rs ru rw sa sb sd se si sk sl sn so sr st sv sy sz td tg th tj tl tn to tr tt tw tz ua ug uy uz vc ve vg vi vn vu ye za zm zw
issues

On invalid_request from a validator, one entry per failed field.

Array<object>
object
field
required

Dotted path of the field. Empty for the whole input.

string
message
required
string
Example
{
"error": "unauthorized",
"message": "API key is not valid.",
"request_id": "7d1c2f34-1b7e-4d2a-9c33-1f6f0e2b8a90"
}
X-Request-Id
string format: uuid

The id of this request, identical to request_id in any error body. Quote it in a support request.

The credential’s per-minute limit is spent (rate_limited). Wait Retry-After seconds.

Media typeapplication/json

The shape of every error response.

object
error
required

Every code the API emits.

  • invalid_request — validation failed; issues lists the fields.
  • unsupported_geo — geo is not supported; details lists the supported codes.
  • unsupported_parameter — the target cannot serve page, num or safe as sent.
  • unauthorized — no accepted credential.
  • not_found — unknown route, or an API key id not on this account.
  • rate_limited — per-minute limit spent.
  • quota_exceeded — the period’s quota and the credit balance are both spent. Not charged.
  • upstream_error — the search provider failed. Charged.
  • upstream_timeout — the search provider did not answer in time. Charged.
  • no_subscription — a plan change or a credit-pack purchase was asked for on an account with no active subscription.
  • plan_unchanged — a plan change was asked for on the plan the account is already on.
  • billing_unavailable — purchases are closed on this deployment: either it is not wired to Polar, or direct checkout is switched off while the same plans are sold on RapidAPI.
  • internal_error — a fault on our side. Not charged.
string
Allowed values: invalid_request unsupported_geo unsupported_parameter unauthorized not_found rate_limited quota_exceeded upstream_error upstream_timeout no_subscription plan_unchanged billing_unavailable internal_error
message
required

Human-readable, safe to show to an end user.

string
request_id
required

Same value as the X-Request-Id header.

string format: uuid
details

On unsupported_geo only, the supported country codes.

Array<string>
Allowed values: us in gb ca au de fr sg ae jp ad af ag al am ao ar at aw az ba bb bd be bf bg bh bi bj bn bo br bs bw by bz cd cg ch ci cl cm cn co cr cu cv cy cz dk do dz ec ee eg es et fi fj fm fo ga gd ge gf gg gh gm gp gq gr gt gu gy hk hn hr ht hu id ie il iq ir is it jm jo ke kg kh km kn kr kw ky kz la lb lc lk lr ls lt lu lv ly ma md me mg mk ml mm mn mo mp mq mr mt mu mv mw mx my mz na nc ne ng ni nl no np nz om pa pe pf pg ph pk pl pr ps pt pw py qa re ro rs ru rw sa sb sd se si sk sl sn so sr st sv sy sz td tg th tj tl tn to tr tt tw tz ua ug uy uz vc ve vg vi vn vu ye za zm zw
issues

On invalid_request from a validator, one entry per failed field.

Array<object>
object
field
required

Dotted path of the field. Empty for the whole input.

string
message
required
string
Example
{
"error": "rate_limited",
"message": "Rate limit of 20 requests per minute exceeded. Retry in 37 seconds.",
"request_id": "7d1c2f34-1b7e-4d2a-9c33-1f6f0e2b8a90"
}
X-Request-Id
string format: uuid

The id of this request, identical to request_id in any error body. Quote it in a support request.

X-RateLimit-Limit
integer

Requests allowed per rolling 60-second window for this credential.

X-RateLimit-Remaining
integer

Requests left in the window, after this one.

X-RateLimit-Reset
integer

Unix time (seconds) at which the current window ends.

Retry-After
integer
>= 1

Whole seconds to wait before retrying. Never below 1.

Something failed on our side (internal_error). The detail is in our logs under request_id. Nothing is charged.

Media typeapplication/json

The shape of every error response.

object
error
required

Every code the API emits.

  • invalid_request — validation failed; issues lists the fields.
  • unsupported_geo — geo is not supported; details lists the supported codes.
  • unsupported_parameter — the target cannot serve page, num or safe as sent.
  • unauthorized — no accepted credential.
  • not_found — unknown route, or an API key id not on this account.
  • rate_limited — per-minute limit spent.
  • quota_exceeded — the period’s quota and the credit balance are both spent. Not charged.
  • upstream_error — the search provider failed. Charged.
  • upstream_timeout — the search provider did not answer in time. Charged.
  • no_subscription — a plan change or a credit-pack purchase was asked for on an account with no active subscription.
  • plan_unchanged — a plan change was asked for on the plan the account is already on.
  • billing_unavailable — purchases are closed on this deployment: either it is not wired to Polar, or direct checkout is switched off while the same plans are sold on RapidAPI.
  • internal_error — a fault on our side. Not charged.
string
Allowed values: invalid_request unsupported_geo unsupported_parameter unauthorized not_found rate_limited quota_exceeded upstream_error upstream_timeout no_subscription plan_unchanged billing_unavailable internal_error
message
required

Human-readable, safe to show to an end user.

string
request_id
required

Same value as the X-Request-Id header.

string format: uuid
details

On unsupported_geo only, the supported country codes.

Array<string>
Allowed values: us in gb ca au de fr sg ae jp ad af ag al am ao ar at aw az ba bb bd be bf bg bh bi bj bn bo br bs bw by bz cd cg ch ci cl cm cn co cr cu cv cy cz dk do dz ec ee eg es et fi fj fm fo ga gd ge gf gg gh gm gp gq gr gt gu gy hk hn hr ht hu id ie il iq ir is it jm jo ke kg kh km kn kr kw ky kz la lb lc lk lr ls lt lu lv ly ma md me mg mk ml mm mn mo mp mq mr mt mu mv mw mx my mz na nc ne ng ni nl no np nz om pa pe pf pg ph pk pl pr ps pt pw py qa re ro rs ru rw sa sb sd se si sk sl sn so sr st sv sy sz td tg th tj tl tn to tr tt tw tz ua ug uy uz vc ve vg vi vn vu ye za zm zw
issues

On invalid_request from a validator, one entry per failed field.

Array<object>
object
field
required

Dotted path of the field. Empty for the whole input.

string
message
required
string
Example
{
"error": "internal_error",
"message": "The request could not be completed.",
"request_id": "7d1c2f34-1b7e-4d2a-9c33-1f6f0e2b8a90"
}
X-Request-Id
string format: uuid

The id of this request, identical to request_id in any error body. Quote it in a support request.