LinkedIn Scraper

Search Groups

Search LinkedIn groups by topic or keyword.

1 creditNo API key needed

Endpoint

Parameters

NameTypeRequiredNote
searchstring · requiredstringrequired

Keywords to search for groups

Example: AI professionals, Marketing leaders

limitnumber · optionalnumberoptional

Max number of pages to extract (1-100, ~25 results per page). Default: 1.

Default: 1

Example: 1

Response schema

{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "elements"
  ],
  "properties": {
    "hasMore": {
      "type": "boolean",
      "description": "True only when the provider still had reachable data and this execution stopped early. A managed Agent must treat this as an incomplete batch, never as completion."
    },
    "elements": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Group identifier"
          },
          "name": {
            "type": "string",
            "description": "Name of the group"
          },
          "members": {
            "type": "string",
            "description": "Member count text (e.g. \"10,000+ members\")"
          },
          "picture": {
            "type": "string",
            "description": "Group profile picture URL"
          },
          "summary": {
            "type": "string",
            "description": "Short group description"
          },
          "linkedinUrl": {
            "type": "string",
            "description": "URL of the LinkedIn group"
          },
          "primaryActions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string",
                  "description": "Action label (e.g. Join, View)"
                },
                "value": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            },
            "description": "Available actions"
          }
        },
        "additionalProperties": true
      }
    },
    "nextPage": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "returned": {
      "type": "number",
      "description": "How many records this run returned, after any `limit` was applied. ONE EXCEPTION: on a chat preview — where `truncated` is true — this is the count actually FETCHED while `elements` carries only a short sample of them, so the two deliberately disagree. Read `truncated` before comparing this against the array length; in a workflow it is never set and the two always match. Matches the other LinkedIn data tools, whose `meta.returned` is the fetched count on a truncated preview too."
    },
    "truncated": {
      "type": "boolean"
    },
    "stopReason": {
      "enum": [
        "cancelled",
        "provider-error",
        "empty-page-stall",
        "caller-limit",
        "presentation-preview",
        "cursor-stall",
        "runtime-page-window",
        "time-budget"
      ],
      "type": "string"
    },
    "suggestion": {
      "type": "string"
    },
    "totalCount": {
      "type": "number",
      "description": "How many records the search MATCHES, per the provider — the grand total, routinely in the millions while the endpoint will only serve about a thousand of them. Do NOT compare it with the row count to decide whether a run was complete, and do not paginate towards it: use `servableCount` for what is actually reachable. Absent when the provider sent no count."
    },
    "totalPages": {
      "type": "number"
    },
    "pagesScraped": {
      "type": "number"
    },
    "servableCount": {
      "type": "number",
      "description": "How many records this endpoint will serve across all its pages — the real ceiling on what any number of runs can reach, which the provider caps well below `totalCount` on most search endpoints. Absent when the provider sent no count."
    },
    "totalElements": {
      "type": "number",
      "description": "DEPRECATED — despite the name this is the count RETURNED by this run, not a grand total, so it equals your `limit` on a limited run. Kept at that value so existing flows do not change meaning. Use `returned` for this number, `totalCount` for how many records match, or `servableCount` for how many are reachable."
    },
    "nextPaginationToken": {
      "type": "string"
    }
  },
  "additionalProperties": true
}

Get started

How to use this tool

  1. Connect your AI

    Add Connie to ChatGPT, Claude or Slack once, and this tool comes with it. There’s no API key or account to set up.

  2. Ask for the outcome

    Describe what you need in plain words. Your AI runs this tool when the job calls for it, along with any others it needs.

  3. Make it a workflow

    Add it as a step in a workflow that runs the same way every time, on a schedule or when something happens.

  4. Stay in control

    Choose whether it runs on its own or asks first. When it asks, you see an Allow or Deny card before any credits are spent.