resolve_url 2 credits

Identify what a LinkedIn URL points at before fetching it. Give any LinkedIn profile, company, or post URL (utm params, www/m subdomains, trailing slashes are fine); get back {type: person|company|post, id, handle, canonical_url}. For profile URLs, id is the stable person URN; for company URLs, id is the stable company URN; for post URLs, id is the activity URN extracted from the URL. Use the returned handle or id with get_profile, get_company, or get_posts. Costs 2 credits. Skip this tool when you already have a slug, URN, or clean URL: get_profile and get_company accept those directly, so resolving first would waste 2 credits. Not for non-LinkedIn URLs; it returns INVALID_INPUT for those.

Parameters

ParamRequiredTypeDescription
urlyesstringA LinkedIn URL, e.g. https://www.linkedin.com/in/williamhgates or .../company/microsoft.

REST

GET /v1/resolve · auth: required · metered: true

curl "https://api.veezee.io/v1/resolve?url=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fwilliamhgates%3Futm_source%3Dshare" \
  -H "Authorization: Bearer $VEEZEE_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

MCP

{
  "method": "tools/call",
  "params": {
    "name": "resolve_url",
    "arguments": {
      "url": "https://www.linkedin.com/in/williamhgates?utm_source=share"
    }
  }
}

Input examples

Profile URL from a user message

{
  "url": "https://www.linkedin.com/in/williamhgates?utm_source=share"
}

Company URL

{
  "url": "https://linkedin.com/company/anthropicresearch"
}

Output

Returns a url_resolution envelope. Full field list: /docs/fields#url_resolution.

Errors

REST returns application/problem+json; MCP returns the same content as an error result. message is written as the next-turn instruction.

CodeHTTP statusRetriableMeaning
INVALID_INPUT400noA parameter failed validation. Check param and message for what to fix.
NOT_FOUND404noNothing matches the given identifier or URL.
UNAUTHORIZED401noMissing, invalid, or revoked API key.
PROVISION_REQUIRED401noNo key was sent and none is on file. Call provision first.
INSUFFICIENT_CREDITS402noYour balance can't cover this call's quote. Check get_usage or add credits.
QUOTE_EXCEEDS_MAX_CREDITS402noThe call's quote is higher than the max_credits you set. Nothing was charged.
IDEMPOTENCY_KEY_REQUIRED400noThis is a metered call; send an Idempotency-Key header.
IDEMPOTENCY_KEY_REUSED409noThat Idempotency-Key was already used with different arguments. Use a new key for a new call.
CONCURRENCY_LIMIT429yesToo many calls in flight for this key's plan. Wait for one to finish.
RATE_LIMITED429yesToo many calls per minute for this key's plan. Back off and retry.
TRIAL_CAP_EXCEEDED403noA trial-only limit was hit (concurrency, rate, search size, or realtime fetches).
BUDGET_EXHAUSTED503noA configured spend budget has been used up.
UPSTREAM_UNAVAILABLE502yesLinkedIn data wasn't reachable. Safe to retry.
PAYLOAD_TOO_LARGE413noThe request or response exceeded the size limit.
ORIGIN_FORBIDDEN403noThis request's origin isn't allowed to call the API.
INTERNAL500yesSomething failed on our side. Safe to retry.