Argorant Account API

Who the key acts as, the plan, the credit balance, the request limits and the scopes. Free to call.

Operations 3

GET /api/v1 API index #
GET /api/v1/me Who am I #
GET /api/v1/account Account, credits and limits #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/argorant-com:argorant-com-account-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

argorant-com-account-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Argorant Account API
  version: 1.0.0
  summary: 'Argorant is a complete B2B outreach platform that a script or an AI agent can run from start to finish: find the right people, get their checked work emails and phone numbers, find one email from a name and a company domain, check your own lists, run campaigns with a personal line for each contact, answer replies in the same thread, and order new sending mailboxes on new domains.'
  description: 'Argorant is a complete B2B outreach platform that a script or an AI agent can run from start to finish. Find the companies and people that fit your offer among 630.7M+ contacts in 202 countries. Get their work emails, checked right before you receive them, and their phone numbers. Find one person''s email from a name and a company domain. Check the emails on your own lists. Write a campaign with a personal line for every contact, send it from your own Google Workspace or Microsoft 365 mailboxes or from new mailboxes we set up on new domains for you, and answer the replies in the same thread.


    The REST API, the command line tool (`npx argorant`) and the MCP server for AI agents (`https://mcp.argorant.com/mcp`) share one account, one credit balance and the same rules, so anything you do here works the same in a script, a pipeline or a chat with Claude, ChatGPT or Codex.


    **The cheapest way to get validated contacts.** Argorant is the cheapest way to get validated B2B contacts. With pay as you go, 100,000 credits cost $499, which is under half a cent per validated contact. On Hyperscale, 200,000 credits a month cost $649, about a third of a cent each. An email that fails the check costs nothing. Compare the prices on our comparison pages, for example against ZoomInfo, Cognism, Hunter and LeadIQ.


    **What it costs.** Searching, counting and previewing are free. One credit buys one validated contact; an email that does not pass the check is left out and costs nothing. Checking an email from your own list costs half a credit. A phone number costs 10 credits and only when one is returned. Finding one email costs 1 credit when found and 0.25 when nothing is found. Campaign emails come with your plan and never use credits. Pay as you go from $17.50 for 500 credits to $499 for 100,000, or pick a plan from $99 a month.


    **How to start.** Create an API key at app.argorant.com/profile and send it as `Authorization: Bearer `. Call `GET /api/v1/account` to see your plan, credits and limits. Every answer carries an `X-Request-Id`; every error has the same shape with a stable `error.code`.


    **Limits.** Each key may send a set number of requests a minute: Starter $99 a month (5,000 credits, 100,000 campaign emails, 60 requests a minute); Pro $249 a month (25,000 credits, 300,000 campaign emails, 240 requests a minute); Scale $449 a month (100,000 credits, 600,000 campaign emails, 600 requests a minute); Hyperscale $649 a month (200,000 credits, 1,000,000 campaign emails, 1200 requests a minute). The 7-day trial and pay-as-you-go accounts get 30 a minute (60 through an AI assistant). On a plan there are no daily limits apart from the email finder. During the trial the account has daily limits that reset at midnight UTC: 500 counts and 500 preview rows (1000 and 1000 through an AI assistant), and each key 100 revealed people and 50,000 export rows. For bigger numbers use saved lists, exports and campaigns. Pay-as-you-go packs: 500 credits for $17.50, 5,000 credits for $69, 25,000 credits for $199, 100,000 credits for $499, valid 365 days.


    **Errors.** Every error has the same shape: `{"error": {"code", "message", "details"}, "request_id", "detail"}`. The code is stable; the message is a plain sentence. Every answer carries `X-Request-Id`, and answers to key calls carry `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Reset`.


    **Retries and pages.** Send an `Idempotency-Key` header on any write and a retry within 24 hours returns the first answer instead of doing the work twice. Lists take `limit` and `cursor` (or `offset`) and answer with `total`, `next_cursor` and `has_more`.'
  contact:
    name: Argorant support
    url: https://help.argorant.com
  termsOfService: https://argorant.com/terms
servers:
- url: https://app.argorant.com
  description: Production
security:
- BearerAuth: []
tags:
- name: Account
  description: Who the key acts as, the plan, the credit balance, the request limits and the scopes. Free to call.
paths:
  /api/v1:
    get:
      tags:
      - Account
      operationId: api-index
      summary: API index
      description: 'The name and version of the API, links to these docs and the OpenAPI document, and every public operation as method and path. Works without a key, so an agent can find its way around before it signs in.


        | Cost | What it does | Key scopes |

        | --- | --- | --- |

        | Free | Reads only | none |'
      parameters:
      - $ref: '#/components/parameters/RequestId'
      responses:
        '200':
          description: OK
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                  version:
                    type: string
                  docs:
                    type: string
                  openapi:
                    type: string
                  authentication:
                    type: string
                  operations:
                    type: array
                    items:
                      type: object
                      properties:
                        method:
                          type: string
                        path:
                          type: string
                  operation_count:
                    type: integer
              example:
                name: Argorant API
                version: '1'
                docs: https://docs.argorant.com
                openapi: https://docs.argorant.com/openapi.json
                authentication: 'Send your API key as Authorization: Bearer <key>. Create one at https://app.argorant.com/profile.'
                operations:
                - method: GET
                  path: /api/v1/account
                - method: GET
                  path: /api/v1/people/count
                operation_count: 2
        '429':
          description: 429 Too many requests. `rate_limited` when too many requests this minute.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
            Retry-After:
              $ref: '#/components/headers/Retry-After'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                rate_limited:
                  summary: rate_limited (too many requests this minute)
                  value:
                    error:
                      code: rate_limited
                      message: Too many requests this minute.
                      details: {}
                    request_id: req_8f2c1d9e0b7a4c3e9f1a2b3c4d5e6f70
                    detail: Too many requests this minute.
      x-cost: Free
      x-side-effect: none
      x-scopes: []
      x-idempotent: false
      x-paginated: false
      security: []
  /api/v1/me:
    get:
      tags:
      - Account
      operationId: get-me
      summary: Who am I
      description: 'The account this key acts as, its workspace and your role in that workspace (owner, admin, manager or member).


        | Cost | What it does | Key scopes |

        | --- | --- | --- |

        | Free | Reads only | none |'
      parameters:
      - $ref: '#/components/parameters/RequestId'
      responses:
        '200':
          description: OK
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
          content:
            application/json:
              schema:
                type: object
                properties:
                  email:
                    type: string
                  workspace_role:
                    type: string
                  workspace_name:
                    type: string
                  workspace_id:
                    type: integer
              example:
                email: maria@northgate-advisory.com
                workspace_role: owner
                workspace_name: Northgate Advisory
                workspace_id: 1042
        '401':
          description: 401 Unauthorized. `unauthorized` when the API key is missing, wrong or revoked.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                unauthorized:
                  summary: unauthorized (the API key is missing, wrong or revoked)
                  value:
                    error:
                      code: unauthorized
                      message: The API key is missing, wrong or revoked.
                      details: {}
                    request_id: req_8f2c1d9e0b7a4c3e9f1a2b3c4d5e6f70
                    detail: The API key is missing, wrong or revoked.
        '429':
          description: 429 Too many requests. `rate_limited` when too many requests this minute.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
            Retry-After:
              $ref: '#/components/headers/Retry-After'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                rate_limited:
                  summary: rate_limited (too many requests this minute)
                  value:
                    error:
                      code: rate_limited
                      message: Too many requests this minute.
                      details: {}
                    request_id: req_8f2c1d9e0b7a4c3e9f1a2b3c4d5e6f70
                    detail: Too many requests this minute.
      x-cost: Free
      x-side-effect: none
      x-scopes: []
      x-idempotent: false
      x-paginated: false
  /api/v1/account:
    get:
      tags:
      - Account
      operationId: get-account
      summary: Account, credits and limits
      description: 'Everything an agent should know before it spends: the plan, the credits available now and where they come from, this month''s campaign email allowance, the requests per minute and per 10 seconds this key may send, the searches and counts a minute the account may run (shared by all its keys) and, during the trial, a day, the other daily limits per key, and the key''s scopes. Call it before a large reveal, export or campaign.


        | Cost | What it does | Key scopes |

        | --- | --- | --- |

        | Free | Reads only | none |'
      parameters:
      - $ref: '#/components/parameters/RequestId'
      responses:
        '200':
          description: OK
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
              example:
                email: maria@northgate-advisory.com
                workspace:
                  id: 1042
                  name: Northgate Advisory
                  role: owner
                plan:
                  name: Pro
                  status: active
                  billing_interval: month
                  renews_at: '2026-11-01T00:00:00+00:00'
                  cancels_at_period_end: false
                credits:
                  available: 23140
                  from_plan: 22140
                  pay_as_you_go: 1000
                  free: 0
                  rules: 1 credit per validated contact (invalid ones cost nothing), 0.5 credit per email check, 10 credits per phone number returned.
                limits:
                  requests_per_minute: 240
                  burst_per_10_seconds: 60
                  searches_and_counts_per_minute: 60
                  daily:
                    counts:
                      limit: null
                      used_today: 12
                      remaining_today: null
                    search_rows:
                      limit: null
                      used_today: 30
                      remaining_today: null
                    reveals:
                      limit: 100
                      used_today: 0
                      remaining_today: 100
                    export_rows:
                      limit: 50000
                      used_today: 500
                      remaining_today: 49500
                    email_finds:
                      limit: 2000
                      used_today: 4
                      remaining_today: 1996
                    email_checks:
                      limit: 200
                      used_today: 0
                      remaining_today: 200
                  per_call:
                    search_rows: 10
                    reveals: 25
                  resets: daily limits reset at midnight UTC; the per-minute window every minute; the burst window every 10 seconds
                  shared: counts, search rows and searches a minute are shared by every key of the account; requests a minute and the other daily limits are per key
                scopes:
                - argorant:read_counts
                - argorant:search_segments
                - argorant:manage_lists
                - argorant:create_exports
                - argorant:unlock_contacts
                - argorant:verify_emails
                campaign_emails:
                  unlimited: false
                  allowance: 300000
                  used: 41210
                  remaining: 258790
                  period: month
                  resets_on: '2026-11-01'
        '401':
          description: 401 Unauthorized. `unauthorized` when the API key is missing, wrong or revoked.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                unauthorized:
                  summary: unauthorized (the API key is missing, wrong or revoked)
                  value:
                    error:
                      code: unauthorized
                      message: The API key is missing, wrong or revoked.
                      details: {}
                    request_id: req_8f2c1d9e0b7a4c3e9f1a2b3c4d5e6f70
                    detail: The API key is missing, wrong or revoked.
        '429':
          description: 429 Too many requests. `rate_limited` when too many requests this minute.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/X-Request-Id'
            X-RateLimit-Limit:
              $ref: '#/components/headers/X-RateLimit-Limit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/X-RateLimit-Remaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/X-RateLimit-Reset'
            Retry-After:
              $ref: '#/components/headers/Retry-After'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                rate_limited:
                  summary: rate_limited (too many requests this minute)
                  value:
                    error:
                      code: rate_limited
                      message: Too many requests this minute.
                      details: {}
                    request_id: req_8f2c1d9e0b7a4c3e9f1a2b3c4d5e6f70
                    detail: Too many requests this minute.
      x-cost: Free
      x-side-effect: none
      x-scopes: []
      x-idempotent: false
      x-paginated: false
components:
  schemas:
    ErrorCode:
      type: string
      description: Stable error code. New codes may be added; treat unknown codes by their HTTP status.
      enum:
      - invalid_request
      - launch_blocked
      - unauthorized
      - api_key_required
      - plan_required
      - insufficient_credits
      - scope_missing
      - permission_missing
      - forbidden
      - not_found
      - route_not_found
      - method_not_allowed
      - conflict
      - idempotency_conflict
      - idempotency_in_progress
      - gone
      - quote_expired
      - validation_error
      - access_key_activation_required
      - rate_limited
      - daily_limit_reached
      - internal_error
      - unavailable
      - confirmation_required
      - invalid_webhook_url
      - phones_not_in_plan
      - card_not_charged
      - owner_only
      - quote_not_found
      - charge_in_progress
      - not_enough_names
      - not_paid
      - reason_required
      - not_connected
      - unsupported_tool
      - tool_key_rejected
      - price_mismatch
      - quote_other_session
      - export_failed
      - sign_in_failed
    ErrorEnvelope:
      type: object
      required:
      - error
      - request_id
      properties:
        error:
          $ref: '#/components/schemas/Error'
        request_id:
          type: string
          description: The id of this request, also in the X-Request-Id header. Quote it when you contact support.
          example: req_8f2c1d9e0b7a4c3e9f1a2b3c4d5e6f70
        detail:
          description: The older error field, kept for clients written before the envelope. Read error instead.
    Account:
      type: object
      properties:
        email:
          type: string
          description: The account the key acts as.
          format: email
        workspace:
          type: object
          description: id, name and your role in it.
          additionalProperties: true
        plan:
          type: object
          description: name, status and renewal date.
          additionalProperties: true
        credits:
          type: object
          description: available now, from the plan, pay as you go and free credits.
          additionalProperties: true
        campaign_emails:
          type: object
          description: 'This month''s campaign email allowance: allowance, used, remaining, resets_on.'
          additionalProperties: true
        rate_limit:
          type: object
          description: requests_per_minute and burst_per_10_seconds for this key, searches_and_counts_per_minute and the daily counts and search rows for the account, the other daily limits per key.
          additionalProperties: true
        scopes:
          type: array
          description: Scopes of this key.
          items:
            type: string
    Error:
      type: object
      required:
      - code
      - message
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode'
        message:
          type: string
          description: One plain sentence that says what happened and what to do.
        details:
          type: object
          description: Extra facts for this error, for example needed and balance for insufficient_credits, fields for validation_error, blockers for launch_blocked.
          additionalProperties: true
  headers:
    Retry-After:
      description: Seconds to wait before the next try.
      schema:
        type: integer
    X-Request-Id:
      description: The id of this request. Quote it when you contact support.
      schema:
        type: string
    X-RateLimit-Remaining:
      description: Requests left in the current minute.
      schema:
        type: integer
    X-RateLimit-Limit:
      description: Requests this key may send per minute.
      schema:
        type: integer
    X-RateLimit-Reset:
      description: Seconds until the minute window starts again.
      schema:
        type: integer
  parameters:
    RequestId:
      name: X-Request-Id
      in: header
      required: false
      description: Your own id for this request, 8 to 64 letters, digits, dot, dash or underscore. Returned as X-Request-Id; one is made for you when you send none.
      schema:
        type: string
        pattern: ^[A-Za-z0-9._-]{8,64}$
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: ag_live_...
      description: 'Your API key from app.argorant.com/profile, sent as `Authorization: Bearer <key>`. A connector sign-in token (ag_mcp_...) works the same way.'
externalDocs:
  description: Guides, the CLI and the MCP server for AI agents
  url: https://docs.argorant.com/docs