Generect 8. Accounts API

Account profile, usage, and transactions.

GitHub OpenAPI

Operations 4

GET /api/v1/accounts/me/ Get account profile #
GET /api/v1/accounts/usage/ Get account usage #
GET /api/v1/accounts/transactions/ Get account transactions #
GET /api/v1/accounts/tokens/analytics/ Usage by token #

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/generect-com:generect-com-8-accounts-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

generect-com-8-accounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Generect 8. Accounts API
  description: 'Welcome to the Generect API documentation. Here we will help you integrate and use our API.


    API base url: `https://api.generect.com` — every path below is relative to this host. Newer endpoints live under `/api/v1/...`, legacy endpoints under `/api/...`; use each path exactly as documented.

    Protocol: `HTTPS`


    # Authentication


    Get your API token from the Generect app settings and send it in the `Authorization` header with the required `Token` prefix.


    Example: `Authorization: Token xxxxxxxxx`


    # Rate limits


    There is no monthly request quota. What you can run is bounded by your account balance and by the parallel-request caps on the Limits page. Pricing depends on the operation and the number of results returned, and may increase with additional data flags. For exact pricing, see each endpoint''s Pricing section or your billing settings: https://app.generect.com/settings/billing


    # Note


    _Every endpoint must include the trailing `/`. Requests without the trailing slash may fail._'
  version: 1.0.0
  contact: {}
servers:
- url: https://api.generect.com
security:
- apiKey: []
tags:
- name: 8. Accounts
  description: Account profile, usage, and transactions.
paths:
  /api/v1/accounts/me/:
    get:
      tags:
      - 8. Accounts
      summary: Get account profile
      description: Retrieve the current account profile, credit balance, monthly usage, and Preview tier eligibility.
      responses:
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '200':
          description: Account profile
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountMeResponse'
              example:
                data:
                  id: a1b2c3d4-e5f6-4789-a0b1-c2d3e4f5a6b7
                  email: jordan.ellis@microsoft.com
                  name: Jordan Ellis
                  plan: Pro
                  credits:
                    balance: 5000
                    used_this_month: 1234
                    monthly_limit: 10000
                  preview_tier: true
      operationId: getApiV1AccountsMe
      x-operation-id-source: derived
  /api/v1/accounts/usage/:
    get:
      tags:
      - 8. Accounts
      summary: Get account usage
      description: Retrieve credit usage statistics and operation breakdown for an account.
      parameters:
      - name: timezone
        in: query
        required: false
        description: IANA timezone for aggregation.
        schema:
          type: string
          default: UTC
        example: Europe/Kyiv
      - name: period
        in: query
        required: false
        description: Truncation granularity for the usage series.
        schema:
          type: string
          enum:
          - day
          - week
          - month
          default: day
      - name: start_date
        in: query
        required: false
        schema:
          type: string
        example: '2026-05-01'
      - name: end_date
        in: query
        required: false
        schema:
          type: string
        example: '2026-05-31'
      - name: period_month
        in: query
        required: false
        description: Month label for the response (YYYY-MM).
        schema:
          type: string
        example: 2026-05
      responses:
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '200':
          description: Account usage statistics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountUsageResponse'
              example:
                data:
                  period: 2026-05
                  total_credits: 1234
                  breakdown:
                    search_database: 500
                    search_realtime: 200
                    enrich_database: 300
                    enrich_realtime: 100
                    email_find: 134
      operationId: getApiV1AccountsUsage
      x-operation-id-source: derived
  /api/v1/accounts/transactions/:
    get:
      tags:
      - 8. Accounts
      summary: Get account transactions
      description: 'Your billing history: every charge and top-up on the account, newest first.


        Filters combine with AND and are applied before paging. Every `__gte` / `__lte` parameter below has a `__gt` / `__lt` twin if you need to exclude the boundary itself, and `amount` also answers to `credits`, the name the response gives it.


        One thing to watch: a value we cannot read — a misspelled status, a malformed date — is dropped rather than refused, so you get a `200` with that condition quietly missing. If a filtered call returns more than you expected, check your parameter spelling first.'
      parameters:
      - name: limit
        in: query
        required: false
        description: How many transactions to return.
        schema:
          type: integer
          default: 100
      - name: offset
        in: query
        required: false
        description: How many to skip, for paging through a long history.
        schema:
          type: integer
          default: 0
      - name: created_at__gte
        in: query
        required: false
        description: Start of the period you want. Pair it with `created_at__lte` to get a single month or billing cycle.
        schema:
          type: string
          format: date-time
        example: '2026-05-01T00:00:00Z'
      - name: created_at__lte
        in: query
        required: false
        description: End of the period, included. A bare date means midnight, so use `2026-05-31T23:59:59` to keep the last day.
        schema:
          type: string
          format: date-time
        example: '2026-05-31T23:59:59Z'
      - name: status
        in: query
        required: false
        description: Settled charges are `success`. `pending` is money reserved for a request still in flight, and `error` charges were reversed — leave both out when you reconcile spend.
        schema:
          type: string
          enum:
          - pending
          - success
          - error
      - name: amount__lte
        in: query
        required: false
        description: Charges at least this large. Charges are negative, so `amount__lte=-10` finds everything that cost 10 or more.
        schema:
          type: number
        example: -10
      - name: amount__gte
        in: query
        required: false
        description: The other side of the same window — use both to isolate a band, or this one alone with a positive value to see only top-ups.
        schema:
          type: number
      - name: after_balance__lte
        in: query
        required: false
        description: Transactions that left the balance at or below this figure. Handy for finding the moment an account started running low.
        schema:
          type: number
      - name: after_balance__gte
        in: query
        required: false
        description: Transactions that left the balance at or above this figure.
        schema:
          type: number
      responses:
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '200':
          description: Account transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountTransactionsResponse'
              example:
                data:
                  transactions:
                  - id: txn_f0e1d2c3-b4a5-4697-8c9d-0e1f2a3b4c5d
                    timestamp: '2026-05-15T10:30:00Z'
                    type: search_database_leads
                    credits: -25
                    details:
                      balance_type: leads_by_icp
                      status: success
      operationId: getApiV1AccountsTransactions
      x-operation-id-source: derived
  /api/v1/accounts/tokens/analytics/:
    get:
      tags:
      - 8. Accounts
      summary: Usage by token
      description: 'The same usage figures as `/accounts/usage/`, split by API token instead of totalled for the account.


        This is for platforms that hand each of their own customers a separate Generect token. You get, per token: how many requests it made, which endpoints it called, and how many of those succeeded or failed — enough to attribute cost to the customer who caused it, or to spot the one client whose integration is retrying in a loop.


        You only ever see your own tokens, never another account''s. If you do not pass dates, the report covers the last 30 days.'
      parameters:
      - name: client_id
        in: query
        required: false
        description: Restrict the report to the token carrying this client identifier — the value set when the token was created.
        schema:
          type: string
      - name: token
        in: query
        required: false
        description: Restrict the report to one exact token value.
        schema:
          type: string
      - name: start_date
        in: query
        required: false
        description: Start of the reporting window. Accepts `YYYY-MM-DD` or a full ISO timestamp. Defaults to 30 days ago.
        schema:
          type: string
        example: '2026-05-01'
      - name: end_date
        in: query
        required: false
        description: End of the reporting window, inclusive. Defaults to now. A date with no time means midnight, so `end_date=2026-05-31` stops at the very start of the 31st and that day's traffic is not counted — pass `2026-05-31T23:59:59` (or the 1st of the next month) to include it.
        schema:
          type: string
        example: '2026-05-31T23:59:59'
      - name: timezone
        in: query
        required: false
        description: 'IANA timezone used to render the `period` bounds in the response. It does not change which requests are counted: the default window is anchored to the same instant whichever zone you name. An unrecognised name is rejected with 400.'
        schema:
          type: string
          default: UTC
        example: Europe/Kyiv
      responses:
        '400':
          description: Invalid timezone or date format.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '200':
          description: Per-token usage analytics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountTokenAnalyticsResponse'
              example:
                data:
                  period:
                    start: '2026-05-01T00:00:00'
                    end: '2026-05-31T23:59:59'
                  total_requests: 1840
                  tokens:
                  - token: 8f14e45fceea167a5a36dedd4bea2543
                    name: Acme Corp
                    client_id: acme-corp
                    is_active: true
                    created_at: '2026-04-02T09:15:00'
                    total_requests: 1200
                    by_endpoint:
                      /api/v1/search/database/leads/: 900
                      /api/v1/email/find/: 300
                    by_status:
                      2xx: 1180
                      4xx: 20
                  - token: c9f0f895fb98ab9159f51fd0297e236d
                    name: Globex
                    client_id: globex
                    is_active: false
                    created_at: '2026-04-18T14:02:00'
                    total_requests: 640
                    by_endpoint:
                      /api/v1/search/realtime/leads/: 640
                    by_status:
                      2xx: 640
      operationId: getApiV1AccountsTokensAnalytics
      x-operation-id-source: derived
components:
  responses:
    Forbidden:
      description: Authenticated, but the account/plan is not allowed to use this endpoint.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            status: error
            status_code: 403
            detail: You do not have permission to perform this action.
    Unauthorized:
      description: Missing or invalid API token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            status: error
            status_code: 401
            detail: Authentication credentials were not provided.
  schemas:
    AccountTokenAnalyticsResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            period:
              type: object
              description: Reporting window the counts were taken over. Timestamps are ISO-8601 but carry no UTC offset when explicit `start_date` / `end_date` were supplied, so parse them leniently rather than as strict RFC 3339.
              properties:
                start:
                  type: string
                end:
                  type: string
            total_requests:
              type: integer
              description: Requests across every token in the window.
            tokens:
              type: array
              description: One entry per token owned by the account, newest token first. A token with no traffic in the window is still listed, with zero counts.
              items:
                type: object
                properties:
                  token:
                    type: string
                  name:
                    type:
                    - string
                    - 'null'
                    description: Label given to the token when it was created. `null` for a token created without one.
                  client_id:
                    type:
                    - string
                    - 'null'
                    description: End-client identifier attached to the token.
                  is_active:
                    type: boolean
                    description: Whether the token can still authenticate. A revoked token keeps its historical counts.
                  created_at:
                    type:
                    - string
                    - 'null'
                    description: ISO-8601, without a UTC offset.
                  total_requests:
                    type: integer
                  by_endpoint:
                    type: object
                    description: Request count keyed by the path that was called.
                    additionalProperties:
                      type: integer
                  by_status:
                    type: object
                    description: Request count keyed by HTTP status class, for example `2xx`, `4xx` or `5xx`.
                    additionalProperties:
                      type: integer
    AccountUsageResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            period:
              type: string
              description: Reporting period the stats cover.
            total_credits:
              type: number
              description: Total credits consumed in the period.
            breakdown:
              type: object
              description: Credits consumed per operation type.
              additionalProperties:
                type: number
    Error:
      type: object
      description: Standard error envelope returned for 4xx/5xx responses.
      properties:
        status:
          type: string
          example: error
        status_code:
          type: integer
          example: 400
        detail:
          description: 'Human-readable message (string) for most errors, or a field-level validation map ({ field: [messages] }) for 400 validation errors.'
          example: Person does not exist
    AccountTransactionsResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            transactions:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  timestamp:
                    type: string
                    format: date-time
                  type:
                    type: string
                    description: Operation that produced the transaction.
                  credits:
                    type: number
                    description: Credit delta (negative for charges).
                  details:
                    type: object
                    properties:
                      balance_type:
                        type: string
                      status:
                        type: string
    AccountMeResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            id:
              type: string
            email:
              type: string
            name:
              type: string
            plan:
              type: string
            credits:
              type: object
              description: Credit balance summary.
              properties:
                balance:
                  type: number
                  description: Current credit balance.
                used_this_month:
                  type: number
                monthly_limit:
                  type: number
            preview_tier:
              type: boolean
              description: 'True while `POST /api/v1/preview/leads/` is free for this account — that is, once total spend in the current calendar month reaches $2,000. Resets on the 1st. Not an access flag: permission to call the Preview endpoints is granted separately.'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: Authorization
      description: 'Use the required Token prefix. Example: Authorization: Token xxxxxxxxx'