ScrapeField

Google Maps, LinkedIn, Instagram, TikTok and X data as tools. Demo mode needs no key.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
93%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~15,587Tokens (definiciones de herramientas)
~2.5 KBTamaño de respuesta típico
Impacto significativo en la atención (12.18% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "scrapefield": {
      "url": "https://scrapefield.com/mcp"
    }
  }
}

Puntos de conexión remotos

https://scrapefield.com/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (47)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_places(query, lat, lng, radius_m, country, ...)

Find businesses and places on Google Maps by a text query, optionally around a point. Each result is the full listing: place_id, name, categories, formatted_address, location, rating and user_ratings_total, phone, website, opening_hours and business_status — named as in Google's Places API. Use this to build a list of businesses in an area; use google-maps/place when you already have a place_id. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "What to search for, e.g. \"coffee shops in Brooklyn\" or \"dentist\".",
      "maxLength": 2048,
      "examples": [
        "coffee shops in Brooklyn"
      ]
    },
    "lat": {
      "type": "number",
      "description": "Latitude of the point to search around.",
      "minimum": -90,
      "maximum": 90
    },
    "lng": {
      "type": "number",
      "description": "Longitude of the point to search around.",
      "minimum": -180,
      "maximum": 180
    },
    "radius_m": {
      "type": "integer",
      "description": "Search radius in metres around lat/lng.",
      "minimum": 100,
      "maximum": 50000,
      "default": 5000
    },
    "country": {
      "type": "string",
      "description": "Two-letter country code to bias results, e.g. `us`.",
      "pattern": "^(?:[A-Za-z]{2})$",
      "maxLength": 2048
    },
    "language": {
      "type": "string",
      "description": "Two-letter language code for localised text, e.g. `en`, `de`.",
      "pattern": "^(?:[A-Za-z]{2}(-[A-Za-z]{2})?)$",
      "maxLength": 2048,
      "default": "en"
    },
    "limit": {
      "type": "integer",
      "description": "At most this many results, 1–20. A page can hold fewer while `next_cursor` is set: read until it is null.",
      "minimum": 1,
      "maximum": 20,
      "default": 20
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢get_place(place_id, url, language, fresh)

Fetch one Google Maps listing in full: name, categories, formatted_address, location, rating, user_ratings_total, rating_distribution, price_level, phone numbers, website, opening_hours, the About tab and business_status. popular_times is in the object, and null where the source does not give it. Accepts a Google place_id — from a search, the Places API or anywhere else — or a Google Maps URL. Give exactly one of `place_id` or `url`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "place_id": {
      "type": "string",
      "description": "Google's place ID, e.g. from a search result or the Places API.",
      "pattern": "^(?:[A-Za-z0-9_-]{10,1000})$",
      "maxLength": 2048,
      "examples": [
        "ChIJN1t_tDeuEmsRUsoyG83frY4"
      ]
    },
    "url": {
      "type": "string",
      "description": "The full URL of the place on Google Maps, which carries its id. A short maps.app.goo.gl link does not, so open it and copy the address it leads to.",
      "pattern": "^(?:https?://((www|maps)\\.)?google\\.[a-z]{2,3}(\\.[a-z]{2})?/maps\\S*(place_id[:=]|query_place_id=|!1s0x[0-9a-fA-F]+:0x)\\S*)$",
      "maxLength": 2048
    },
    "language": {
      "type": "string",
      "description": "Two-letter language code for localised text, e.g. `en`, `de`.",
      "pattern": "^(?:[A-Za-z]{2}(-[A-Za-z]{2})?)$",
      "maxLength": 2048,
      "default": "en"
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟡get_place_reviews(place_id, url, sort, limit, cursor, ...)

Fetch Google reviews for one place: rating, text, language, publish_time, the author (with their Local Guide badge and review count), photos and the owner_response where there is one. The first page has up to 8 reviews, and each page after it up to 20. Use this for review monitoring and sentiment work. Give exactly one of `place_id` or `url`. Costs 6 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "place_id": {
      "type": "string",
      "description": "Google's place ID.",
      "pattern": "^(?:[A-Za-z0-9_-]{10,1000})$",
      "maxLength": 2048,
      "examples": [
        "ChIJN1t_tDeuEmsRUsoyG83frY4"
      ]
    },
    "url": {
      "type": "string",
      "description": "The full URL of the place on Google Maps, which carries its id. A short maps.app.goo.gl link does not, so open it and copy the address it leads to.",
      "pattern": "^(?:https?://((www|maps)\\.)?google\\.[a-z]{2,3}(\\.[a-z]{2})?/maps\\S*(place_id[:=]|query_place_id=|!1s0x[0-9a-fA-F]+:0x)\\S*)$",
      "maxLength": 2048
    },
    "sort": {
      "type": "string",
      "description": "Order of the reviews.",
      "enum": [
        "relevance",
        "newest",
        "highest",
        "lowest"
      ],
      "default": "relevance"
    },
    "limit": {
      "type": "integer",
      "description": "At most this many results, 1–20. A page can hold fewer while `next_cursor` is set: read until it is null.",
      "minimum": 1,
      "maximum": 20,
      "default": 20
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_place_photos(place_id, url, limit, cursor, fresh)

Fetch the photos on one place's listing, as URLs on Google's CDN; we do not rehost images. Dimensions and uploader are in the object, and null where the source does not give them. Give exactly one of `place_id` or `url`. Costs 4 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "place_id": {
      "type": "string",
      "description": "Google's place ID.",
      "pattern": "^(?:[A-Za-z0-9_-]{10,1000})$",
      "maxLength": 2048,
      "examples": [
        "ChIJN1t_tDeuEmsRUsoyG83frY4"
      ]
    },
    "url": {
      "type": "string",
      "description": "The full URL of the place on Google Maps, which carries its id. A short maps.app.goo.gl link does not, so open it and copy the address it leads to.",
      "pattern": "^(?:https?://((www|maps)\\.)?google\\.[a-z]{2,3}(\\.[a-z]{2})?/maps\\S*(place_id[:=]|query_place_id=|!1s0x[0-9a-fA-F]+:0x)\\S*)$",
      "maxLength": 2048
    },
    "limit": {
      "type": "integer",
      "description": "At most this many results, 1–20. A page can hold fewer while `next_cursor` is set: read until it is null.",
      "minimum": 1,
      "maximum": 20,
      "default": 20
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_place_posts(place_id, url, cursor, fresh)

Fetch the updates the owner posted on one place's listing, newest first: the text, the day, an image and where it links, such as an offer or an event. Use this to watch what a competitor announces. Give exactly one of `place_id` or `url`. Costs 4 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "place_id": {
      "type": "string",
      "description": "Google's place ID.",
      "pattern": "^(?:[A-Za-z0-9_-]{10,1000})$",
      "maxLength": 2048,
      "examples": [
        "ChIJN1t_tDeuEmsRUsoyG83frY4"
      ]
    },
    "url": {
      "type": "string",
      "description": "The full URL of the place on Google Maps, which carries its id. A short maps.app.goo.gl link does not, so open it and copy the address it leads to.",
      "pattern": "^(?:https?://((www|maps)\\.)?google\\.[a-z]{2,3}(\\.[a-z]{2})?/maps\\S*(place_id[:=]|query_place_id=|!1s0x[0-9a-fA-F]+:0x)\\S*)$",
      "maxLength": 2048
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_linkedin_profile(url, vanity_name, detail, fresh)

Fetch a LinkedIn profile: full_name, headline, about, location, follower_count, connection_count, current_company, experience, education and skills. With `detail=with_email`, also look for their work email, each address checked with its mail server. Use this to enrich a person from their profile URL. Give exactly one of `url` or `vanity_name`. Costs 11 credits (7 for `detail=main`, 33 for `detail=with_email`), cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The public profile URL, e.g. `https://www.linkedin.com/in/someone`. A member-id URL (`/in/ACoAA…` or `/in/ACwAA…`), as reactions and Sales Navigator give, works too.",
      "pattern": "^(?:(https?://)?([a-z]{1,3}\\.)?linkedin\\.com/in/[^/?#\\s]{3,100}([/?#]\\S*)?)$",
      "maxLength": 2048,
      "examples": [
        "https://www.linkedin.com/in/example"
      ]
    },
    "vanity_name": {
      "type": "string",
      "description": "The part after `/in/` in the public URL, e.g. `someone`. A member id (`ACoAA…`) works too.",
      "pattern": "^(?:[^/?#\\s]{3,100})$",
      "maxLength": 2048
    },
    "detail": {
      "type": "string",
      "description": "`main` is the profile as LinkedIn first shows it, without opening a section: up to 5 positions, 2 schools and 2 skills, for less. `with_email` is the whole profile and a search for their work email, in `emails`, for more.",
      "enum": [
        "full",
        "main",
        "with_email"
      ],
      "default": "full"
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_linkedin_company(url, vanity_name, fresh)

Fetch a LinkedIn company page: name, tagline, description, website, industry, company_size, employees_on_linkedin, headquarters, company_type, founded, specialties and follower_count. Use this to enrich a company from its LinkedIn URL. Give exactly one of `url` or `vanity_name`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The company page URL.",
      "pattern": "^(?:(https?://)?([a-z]{1,3}\\.)?linkedin\\.com/(company|school|showcase)/[^/?#\\s]+([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "vanity_name": {
      "type": "string",
      "description": "The part after `/company/` in the URL, e.g. `acme-inc`.",
      "pattern": "^(?:[^/?#\\s]{2,100})$",
      "maxLength": 2048,
      "examples": [
        "example-co"
      ]
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_linkedin_employee_stats(url, vanity_name, company_id, fresh)

Fetch the counts on a company's People tab: where its people live, what they do, where they studied, what they are skilled at, each as a list of names and member counts. Use this to size a team, or to see where a company hires. Give exactly one of `url` or `vanity_name` or `company_id`. Costs 7 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The company page URL.",
      "pattern": "^(?:(https?://)?([a-z]{1,3}\\.)?linkedin\\.com/(company|school|showcase)/[^/?#\\s]+([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "vanity_name": {
      "type": "string",
      "description": "The part after `/company/` in the URL.",
      "pattern": "^(?:[^/?#\\s]{2,100})$",
      "maxLength": 2048
    },
    "company_id": {
      "type": "string",
      "description": "LinkedIn's numeric id for the company: `company_id` in linkedin/company. The fastest of the three.",
      "pattern": "^(?:\\d{1,12})$",
      "maxLength": 2048,
      "examples": [
        "1035"
      ]
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_linkedin_company_people(company_id, cursor, fresh)

Fetch the people who list a company as their employer, 25 a page from Sales Navigator, which hides no one: each person's name, location and profile, and their current roles, each with its title, employer and `company_id`, and start month. The same object, and price, as linkedin/people with `source=sales_navigator`. Takes the company's numeric id, `company_id` in linkedin/company. Use this to map a company's team or to find who to contact. Costs 170 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "company_id": {
      "type": "string",
      "description": "LinkedIn's numeric id for the company: `company_id` in linkedin/company.",
      "pattern": "^(?:\\d{1,12})$",
      "maxLength": 2048,
      "examples": [
        "1035"
      ]
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [
    "company_id"
  ],
  "additionalProperties": false
}
🟢search_linkedin_people(query, first_name, last_name, title, current_company, ...)

Find people by name, title, company, school or place. With `source=public` (the default), LinkedIn's own people search: it finds people well by name, but hides many other results as "LinkedIn Member", and those are left out. With `source=sales_navigator`, Sales Navigator's lead search: every match, with each person's current roles, at a higher price. 10 a page, or 25 with Sales Navigator. A page takes about 3 seconds, or about 5 with Sales Navigator, and now and then up to 25. Give at least one of `query`, `first_name`, `last_name`, `title`, `current_company`, `past_company`, `school` or `location`. Use linkedin/profile on a result for the whole profile. Costs 7 credits (170 for `source=sales_navigator`), cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Words to search for, as in LinkedIn's search box.",
      "maxLength": 2048,
      "examples": [
        "data engineer"
      ]
    },
    "first_name": {
      "type": "string",
      "description": "Their first name, as their profile gives it.",
      "maxLength": 2048
    },
    "last_name": {
      "type": "string",
      "description": "Their last name, as their profile gives it.",
      "maxLength": 2048
    },
    "title": {
      "type": "string",
      "description": "Words in their current title, e.g. \"head of data\".",
      "maxLength": 2048
    },
    "current_company": {
      "type": "string",
      "description": "Where they work now: a company page URL or `company_id`. Several, comma-separated.",
      "pattern": "^(?:((https?://)?([a-z]{1,3}\\.)?linkedin\\.com/(company|school|showcase)/[^/?#\\s,]+([/?#][^\\s,]*)?|\\d{1,12})(,((https?://)?([a-z]{1,3}\\.)?linkedin\\.com/(company|school|showcase)/[^/?#\\s,]+([/?#][^\\s,]*)?|\\d{1,12}))*)$",
      "maxLength": 2048
    },
    "past_company": {
      "type": "string",
      "description": "Where they worked before, as `current_company`.",
      "pattern": "^(?:((https?://)?([a-z]{1,3}\\.)?linkedin\\.com/(company|school|showcase)/[^/?#\\s,]+([/?#][^\\s,]*)?|\\d{1,12})(,((https?://)?([a-z]{1,3}\\.)?linkedin\\.com/(company|school|showcase)/[^/?#\\s,]+([/?#][^\\s,]*)?|\\d{1,12}))*)$",
      "maxLength": 2048
    },
    "school": {
      "type": "string",
      "description": "Where they studied: a school page URL or its id. Several, comma-separated.",
      "pattern": "^(?:((https?://)?([a-z]{1,3}\\.)?linkedin\\.com/(company|school|showcase)/[^/?#\\s,]+([/?#][^\\s,]*)?|\\d{1,12})(,((https?://)?([a-z]{1,3}\\.)?linkedin\\.com/(company|school|showcase)/[^/?#\\s,]+([/?#][^\\s,]*)?|\\d{1,12}))*)$",
      "maxLength": 2048
    },
    "location": {
      "type": "string",
      "description": "A place name, e.g. \"Berlin\" or \"Germany\".",
      "maxLength": 2048
    },
    "source": {
      "type": "string",
      "description": "`public` is LinkedIn's people search; `sales_navigator` is Sales Navigator's lead search, which hides no one and gives current roles, at a higher price.",
      "enum": [
        "public",
        "sales_navigator"
      ],
      "default": "public"
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢search_linkedin_services(query, location, cursor, fresh)

Find people who list a service on their profile, by what they offer and where: "web design" in "California". LinkedIn hides no one in this search, so it finds people that `linkedin/people` hides. Each result is a person, with their headline and place, 10 a page. Costs 7 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "The service, e.g. \"web design\" or \"bookkeeping\".",
      "maxLength": 2048,
      "examples": [
        "web design"
      ]
    },
    "location": {
      "type": "string",
      "description": "A place name, e.g. \"California\".",
      "maxLength": 2048
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢search_linkedin_companies(query, location, company_size, cursor, fresh)

Find companies by name or keywords, place and size, up to 50 a page. Each result has the company's id, page, industry, place and followers; linkedin/company gives the whole page, and linkedin/employees its people. Costs 7 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Words in the company's name.",
      "maxLength": 2048,
      "examples": [
        "coffee roasters"
      ]
    },
    "location": {
      "type": "string",
      "description": "A place name, e.g. \"Berlin\".",
      "maxLength": 2048
    },
    "company_size": {
      "type": "string",
      "description": "Only companies of these sizes, as LinkedIn bands them: `1-10`, `11-50`, `51-200`, `201-500`, `501-1000`, `1001-5000`, `5001-10000`, `10001+`. Several, comma-separated.",
      "pattern": "^(?:(1-10|11-50|51-200|201-500|501-1000|1001-5000|5001-10000|10001\\+)(,(1-10|11-50|51-200|201-500|501-1000|1001-5000|5001-10000|10001\\+))*)$",
      "maxLength": 2048
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟡get_linkedin_posts(url, company_url, query, posted_within, limit, ...)

Fetch recent posts by one person or company, or with `query` every public post with those words: text, images, video, document or article, and published_at. A person's posts also carry reaction_count (with the breakdown by kind), comment_count and repost_count; a company's carry the text and the date, with the counts null, at a much lower price. For the counts on one of them, call linkedin/post. Give exactly one of `url` or `company_url` or `query`. Costs 7 credits (3 with `company_url`), cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "A person's public profile URL. Their latest posts, on one page.",
      "pattern": "^(?:(https?://)?([a-z]{1,3}\\.)?linkedin\\.com/in/[^/?#\\s]{3,100}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "company_url": {
      "type": "string",
      "description": "A company page URL. Up to 7 pages of 10.",
      "pattern": "^(?:(https?://)?([a-z]{1,3}\\.)?linkedin\\.com/(company|school|showcase)/[^/?#\\s]+([/?#]\\S*)?)$",
      "maxLength": 2048,
      "examples": [
        "https://www.linkedin.com/company/example-co"
      ]
    },
    "query": {
      "type": "string",
      "description": "Words in the post: every public post that has them, newest first.",
      "maxLength": 2048
    },
    "posted_within": {
      "type": "string",
      "description": "Only posts from the last day, week or month.",
      "enum": [
        "day",
        "week",
        "month"
      ]
    },
    "limit": {
      "type": "integer",
      "description": "At most this many results, 1–100. A page can hold fewer while `next_cursor` is set: read until it is null.",
      "minimum": 1,
      "maximum": 100,
      "default": 20
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟡get_linkedin_post(url, fresh)

Fetch one post by its URL: its text, images, author, published_at, reaction_count and comment_count. repost_count and the reactions by kind are null: the source gives the total only. Use linkedin/comments for its comments and linkedin/reactions for who reacted. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The post's URL: `https://www.linkedin.com/posts/…-activity-<id>-…`, or `https://www.linkedin.com/feed/update/urn:li:activity:<id>`. A link by the share's id works too: `urn:li:ugcPost:<id>`, `urn:li:share:<id>` or `/posts/…-ugcPost-<id>-…`.",
      "pattern": "^(?:(https?://)?([a-z]{1,3}\\.)?linkedin\\.com/(posts/[^/?#\\s]*(?:activity|ugcPost|share)-\\d{16,22}[^/?#\\s]*|feed/update/urn:li:(?:activity|ugcPost|share):\\d{16,22})([/?#]\\S*)?)$",
      "maxLength": 2048,
      "examples": [
        "https://www.linkedin.com/feed/update/urn:li:activity:7243000000000000000"
      ]
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}
🟡get_linkedin_post_comments(url, comment_url, sort, cursor, fresh)

Fetch the comments on one post, up to 100 a page: each comment's text, author (name, headline, profile), published_at, like_count, reply_count and its own `url`, which opens the post at that comment. With `comment_url`, the replies to one comment. Use this to see who engages with a post and what they say. Give exactly one of `url` or `comment_url`. Costs 7 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The post's URL, as for linkedin/post.",
      "pattern": "^(?:(https?://)?([a-z]{1,3}\\.)?linkedin\\.com/(posts/[^/?#\\s]*(?:activity|ugcPost|share)-\\d{16,22}[^/?#\\s]*|feed/update/urn:li:(?:activity|ugcPost|share):\\d{16,22})([/?#]\\S*)?)$",
      "maxLength": 2048,
      "examples": [
        "https://www.linkedin.com/feed/update/urn:li:activity:7243000000000000000"
      ]
    },
    "comment_url": {
      "type": "string",
      "description": "A comment's URL, as LinkedIn's \"Copy link to comment\" gives it: the replies to that comment.",
      "pattern": "^(?:(https?://)?([a-z]{1,3}\\.)?linkedin\\.com/feed/update/urn:li:(activity|ugcPost|share):\\d{16,22}/?\\?(\\S*&)?commentUrn=\\S+)$",
      "maxLength": 2048
    },
    "sort": {
      "type": "string",
      "description": "Most relevant first, or newest first.",
      "enum": [
        "relevance",
        "newest"
      ]
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟡get_linkedin_post_reactions(url, comment_url, cursor, fresh)

Fetch who reacted to one post, up to 100 a page: each person's or company page's name, headline and link, and which reaction. With `comment_url`, who reacted to one comment. LinkedIn lists people who react by member id, so `actor.url` is usually a member-id link (`/in/ACoAA…`) with `vanity_name` null; linkedin/profile takes it. Give exactly one of `url` or `comment_url`. Costs 7 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The post's URL, as for linkedin/post.",
      "pattern": "^(?:(https?://)?([a-z]{1,3}\\.)?linkedin\\.com/(posts/[^/?#\\s]*(?:activity|ugcPost|share)-\\d{16,22}[^/?#\\s]*|feed/update/urn:li:(?:activity|ugcPost|share):\\d{16,22})([/?#]\\S*)?)$",
      "maxLength": 2048,
      "examples": [
        "https://www.linkedin.com/feed/update/urn:li:activity:7243000000000000000"
      ]
    },
    "comment_url": {
      "type": "string",
      "description": "A comment's URL: who reacted to that comment.",
      "pattern": "^(?:(https?://)?([a-z]{1,3}\\.)?linkedin\\.com/feed/update/urn:li:(activity|ugcPost|share):\\d{16,22}/?\\?(\\S*&)?commentUrn=\\S+)$",
      "maxLength": 2048
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟡get_linkedin_activity(url, vanity_name, type, posted_within, cursor, ...)

Fetch what one person did recently on other people's posts: with `type=comments`, the comments they wrote and when; with `type=reactions`, the posts they reacted to and how. Each item carries the post, with its author and counts, when they did it, and for a comment its own `comment_url`, which opens the post at that comment. The newest first, up to 100 a page, with `next_cursor` for older ones. Use this for sales signals: who a prospect engages with, and on what. Give exactly one of `url` or `vanity_name`. Costs 7 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The person's public profile URL. A member-id link (`/in/ACoAA…` or `/in/ACwAA…`), as reactions and Sales Navigator give, works too.",
      "pattern": "^(?:(https?://)?([a-z]{1,3}\\.)?linkedin\\.com/in/[^/?#\\s]{3,100}([/?#]\\S*)?)$",
      "maxLength": 2048,
      "examples": [
        "https://www.linkedin.com/in/example"
      ]
    },
    "vanity_name": {
      "type": "string",
      "description": "The part after `/in/` in their public URL. A member id (`ACoAA…`) works too.",
      "pattern": "^(?:[^/?#\\s]{3,100})$",
      "maxLength": 2048
    },
    "type": {
      "type": "string",
      "description": "Their comments, or their reactions.",
      "enum": [
        "comments",
        "reactions"
      ],
      "default": "comments"
    },
    "posted_within": {
      "type": "string",
      "description": "Only comments from the last day, week or month. With `type=comments` only.",
      "enum": [
        "day",
        "week",
        "month"
      ]
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢search_linkedin_jobs(query, location, workplace_type, posted_within, employment_type, ...)

Search LinkedIn job postings by keyword and location, with LinkedIn's own filters. Returns each posting's title, company, location, listed_at, URL, and workplace_type and easy_apply where the list shows them. employment_type, seniority_level, salary and description are null: linkedin/job gives them. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Job title or keywords, e.g. \"backend engineer\".",
      "maxLength": 2048,
      "examples": [
        "backend engineer"
      ]
    },
    "location": {
      "type": "string",
      "description": "Place name, e.g. \"Berlin\" or \"United States\".",
      "maxLength": 2048
    },
    "workplace_type": {
      "type": "string",
      "description": "Only roles of this kind, as LinkedIn's filter names them.",
      "enum": [
        "on-site",
        "hybrid",
        "remote"
      ]
    },
    "posted_within": {
      "type": "string",
      "description": "Only roles posted in the last day, week or month.",
      "enum": [
        "day",
        "week",
        "month"
      ]
    },
    "employment_type": {
      "type": "string",
      "description": "Only roles of this kind.",
      "enum": [
        "full-time",
        "part-time",
        "contract",
        "temporary",
        "internship"
      ]
    },
    "experience_level": {
      "type": "string",
      "description": "Only roles at this level, as LinkedIn's filter names them.",
      "enum": [
        "internship",
        "entry",
        "associate",
        "mid-senior",
        "director",
        "executive"
      ]
    },
    "company_id": {
      "type": "string",
      "description": "Only one company's roles: `company_id` in linkedin/company.",
      "pattern": "^(?:\\d{1,12})$",
      "maxLength": 2048
    },
    "easy_apply": {
      "type": "boolean",
      "description": "Only roles that take applications on LinkedIn."
    },
    "sort": {
      "type": "string",
      "description": "Most relevant first, or newest first.",
      "enum": [
        "relevance",
        "newest"
      ]
    },
    "limit": {
      "type": "integer",
      "description": "At most this many results, 1–25. A page can hold fewer while `next_cursor` is set: read until it is null.",
      "minimum": 1,
      "maximum": 25,
      "default": 25
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢get_linkedin_job(id, url, fresh)

Fetch one LinkedIn job posting by its id or URL: title, company, location, employment_type, seniority_level, salary where the posting shows one, and the full description — the fields linkedin/jobs leaves null, and workplace_type, listed_at and easy_apply where the posting shows them. Use it on the job_id of a search result. Give exactly one of `id` or `url`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "LinkedIn's numeric id for the posting: `job_id` in a search result, and the number at the end of `/jobs/view/…`.",
      "pattern": "^(?:\\d{6,20})$",
      "maxLength": 2048,
      "examples": [
        "4468618386"
      ]
    },
    "url": {
      "type": "string",
      "description": "The posting's URL, e.g. `https://www.linkedin.com/jobs/view/4468618386/`.",
      "pattern": "^(?:(https?://)?([a-z]{1,3}\\.)?linkedin\\.com/jobs/(view/([^/?#]*-)?\\d{6,20}/?([?#].*)?|[^?#]*\\?(.*&)?currentJobId=\\d{6,20}(&.*)?))$",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢search_linkedin_ads(advertiser, company_id, query, countries, start_date, ...)

Search the ads LinkedIn shows in its public Ad Library, by advertiser, by words in the ad or by company id, optionally by country and date: each ad's advertiser, format, headline, text, image or video, call to action, where it leads, when it ran, its impressions range and its targeting, about 25 a page. Use this to watch what a competitor advertises. Give exactly one of `advertiser` or `company_id` or `query`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "advertiser": {
      "type": "string",
      "description": "The advertiser's name, as the library searches it. It matches loosely: a person whose name contains it can appear.",
      "maxLength": 2048,
      "examples": [
        "Ferrari"
      ]
    },
    "company_id": {
      "type": "string",
      "description": "LinkedIn's numeric id for the company, `company_id` in linkedin/company: that company's ads only.",
      "pattern": "^(?:\\d{1,12})$",
      "maxLength": 2048
    },
    "query": {
      "type": "string",
      "description": "Words in the ad.",
      "maxLength": 2048
    },
    "countries": {
      "type": "string",
      "description": "Only ads shown in these countries: two-letter codes, comma-separated, e.g. `US,GB`.",
      "pattern": "^(?:[A-Za-z]{2}(,[A-Za-z]{2})*)$",
      "maxLength": 2048
    },
    "start_date": {
      "type": "string",
      "description": "Only ads shown on or after this day, `YYYY-MM-DD`, within the last year. With `end_date`.",
      "pattern": "^(?:\\d{4}-\\d{2}-\\d{2})$",
      "maxLength": 2048
    },
    "end_date": {
      "type": "string",
      "description": "Only ads shown on or before this day, `YYYY-MM-DD`, before today. With `start_date`.",
      "pattern": "^(?:\\d{4}-\\d{2}-\\d{2})$",
      "maxLength": 2048
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_linkedin_ad(id, url, fresh)

Fetch one ad in full by its id or URL: what linkedin/ads gives, and where it was seen, country by country, with its targeting. Give exactly one of `id` or `url`. Costs 7 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The Ad Library's id for the ad: `id` in linkedin/ads.",
      "pattern": "^(?:\\d{4,20})$",
      "maxLength": 2048,
      "examples": [
        "1572822563"
      ]
    },
    "url": {
      "type": "string",
      "description": "The ad's page in the Ad Library: `https://www.linkedin.com/ad-library/detail/<id>`.",
      "pattern": "^(?:(https?://)?([a-z]{1,3}\\.)?linkedin\\.com/ad-library/detail/\\d{4,20}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_linkedin_group(url, id, fresh)

Fetch one group: its name, members, description, rules, when it was made and whether its posts are public. Its posts, by `group_url` on linkedin/posts, are not available yet. Give exactly one of `url` or `id`. Costs 7 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The group's URL: `https://www.linkedin.com/groups/<id>/`.",
      "pattern": "^(?:(https?://)?([a-z]{1,3}\\.)?linkedin\\.com/groups/\\d{1,15}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "id": {
      "type": "string",
      "description": "The number in the group's URL.",
      "pattern": "^(?:\\d{1,15})$",
      "maxLength": 2048,
      "examples": [
        "1976445"
      ]
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢search_linkedin_groups(query, cursor, fresh)

Find groups by keywords: each one's name, URL, members and summary, 10 a page. Costs 7 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Words to search for.",
      "maxLength": 2048,
      "examples": [
        "data engineering"
      ]
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢get_instagram_profile(username, url, fresh)

Fetch an Instagram account: username, name, biography, bio_links, followers_count, follows_count, media_count, is_verified, is_private, is_business_account, category and the business contact buttons — named as in Instagram's Graph API. Use this for creator discovery and audience sizing. Give exactly one of `username` or `url`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "description": "The username. A leading @ is fine.",
      "pattern": "^(?:@?[A-Za-z0-9._]{1,30})$",
      "maxLength": 2048,
      "examples": [
        "nasa"
      ]
    },
    "url": {
      "type": "string",
      "description": "The profile URL.",
      "pattern": "^(?:(https?://)?((www|m)\\.)?instagram\\.com/[A-Za-z0-9._]{1,30}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_instagram_posts(username, url, limit, cursor, fresh)

Fetch recent posts and Reels by one Instagram account: shortcode, permalink, media_type, caption, timestamp, media_url, carousel children, like_count, comments_count, view_count, hashtags, mentions and the paid-partnership label. Give exactly one of `username` or `url`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "description": "The username. A leading @ is fine.",
      "pattern": "^(?:@?[A-Za-z0-9._]{1,30})$",
      "maxLength": 2048,
      "examples": [
        "nasa"
      ]
    },
    "url": {
      "type": "string",
      "description": "The profile URL.",
      "pattern": "^(?:(https?://)?((www|m)\\.)?instagram\\.com/[A-Za-z0-9._]{1,30}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "limit": {
      "type": "integer",
      "description": "At most this many results, 1–24. A page can hold fewer while `next_cursor` is set: read until it is null.",
      "minimum": 1,
      "maximum": 24,
      "default": 24
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟡get_instagram_post(url, shortcode, fresh)

Fetch one Instagram post or Reel by its URL or shortcode: caption, media, username, timestamp, like_count, comments_count and view_count. Give exactly one of `url` or `shortcode`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The post URL.",
      "pattern": "^(?:(https?://)?((www|m)\\.)?instagram\\.com/([A-Za-z0-9._]{1,30}/)?(p|reel|reels|tv)/[A-Za-z0-9_-]{5,40}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "shortcode": {
      "type": "string",
      "description": "The shortcode from the URL, e.g. `C1a2B3c4D5e`.",
      "pattern": "^(?:[A-Za-z0-9_-]{5,40})$",
      "maxLength": 2048,
      "examples": [
        "C1a2B3c4D5e"
      ]
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_instagram_comments(url, shortcode, limit, cursor, fresh)

Fetch comments on one Instagram post: username, text, timestamp, like_count, reply_count and parent_id for replies. Use this for social listening and campaign verification. Give exactly one of `url` or `shortcode`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The post URL.",
      "pattern": "^(?:(https?://)?((www|m)\\.)?instagram\\.com/([A-Za-z0-9._]{1,30}/)?(p|reel|reels|tv)/[A-Za-z0-9_-]{5,40}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "shortcode": {
      "type": "string",
      "description": "The post shortcode.",
      "pattern": "^(?:[A-Za-z0-9_-]{5,40})$",
      "maxLength": 2048,
      "examples": [
        "C1a2B3c4D5e"
      ]
    },
    "limit": {
      "type": "integer",
      "description": "At most this many results, 1–50. A page can hold fewer while `next_cursor` is set: read until it is null.",
      "minimum": 1,
      "maximum": 50,
      "default": 50
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_instagram_hashtag(tag, limit, cursor, fresh)

Fetch recent posts carrying one hashtag, each a full post. Use this for trend and campaign monitoring. Costs 64 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "tag": {
      "type": "string",
      "description": "The hashtag, without the leading #.",
      "pattern": "^(?:#?[^\\s#/?&]{1,100})$",
      "maxLength": 2048,
      "examples": [
        "sourdough"
      ]
    },
    "limit": {
      "type": "integer",
      "description": "At most this many results, 1–24. A page can hold fewer while `next_cursor` is set: read until it is null.",
      "minimum": 1,
      "maximum": 24,
      "default": 24
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [
    "tag"
  ],
  "additionalProperties": false
}
🟢search_instagram_accounts(query, limit, fresh)

Find Instagram accounts by a keyword: each account's username, name and link, the most relevant first, one page. The search answers from a search index, so it gives no counts: call `instagram/profile` with a username for the whole account. Use this to find creators and brands when you do not have a username. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Words to search for, e.g. \"sourdough bakery\".",
      "maxLength": 2048,
      "examples": [
        "ferrari"
      ]
    },
    "limit": {
      "type": "integer",
      "description": "At most this many results, 1–50. A page can hold fewer while `next_cursor` is set: read until it is null.",
      "minimum": 1,
      "maximum": 50,
      "default": 25
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢get_tiktok_profile(username, url, fresh)

Fetch a TikTok account: username, display_name, bio_description, bio_url, is_verified, follower_count, following_count, likes_count and video_count — named as in TikTok's own APIs. Use this for creator discovery and audience sizing. Give exactly one of `username` or `url`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "description": "The username. A leading @ is fine.",
      "pattern": "^(?:@?[A-Za-z0-9._]{2,24})$",
      "maxLength": 2048,
      "examples": [
        "nasa"
      ]
    },
    "url": {
      "type": "string",
      "description": "The profile URL.",
      "pattern": "^(?:(https?://)?((www|m)\\.)?tiktok\\.com/@[A-Za-z0-9._]{2,24}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_tiktok_followers(username, url, type, cursor, fresh)

Fetch an account's followers, newest first, or with `type=following` the accounts it follows: each a profile with its follower and video counts, about 50 a page. Use this to see who an audience is, or who a creator watches. Give exactly one of `username` or `url`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "description": "The username. A leading @ is fine.",
      "pattern": "^(?:@?[A-Za-z0-9._]{2,24})$",
      "maxLength": 2048,
      "examples": [
        "nasa"
      ]
    },
    "url": {
      "type": "string",
      "description": "The profile URL.",
      "pattern": "^(?:(https?://)?((www|m)\\.)?tiktok\\.com/@[A-Za-z0-9._]{2,24}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "type": {
      "type": "string",
      "description": "Who follows the account, or whom it follows.",
      "enum": [
        "followers",
        "following"
      ],
      "default": "followers"
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟡get_tiktok_videos(username, url, limit, cursor, fresh)

Fetch recent videos by one TikTok account: video_description, create_time, duration, cover_image_url, view_count, like_count, comment_count, share_count, favorites_count, hashtag_names and the sound. Give exactly one of `username` or `url`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "description": "The username. A leading @ is fine.",
      "pattern": "^(?:@?[A-Za-z0-9._]{2,24})$",
      "maxLength": 2048,
      "examples": [
        "nasa"
      ]
    },
    "url": {
      "type": "string",
      "description": "The profile URL.",
      "pattern": "^(?:(https?://)?((www|m)\\.)?tiktok\\.com/@[A-Za-z0-9._]{2,24}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "limit": {
      "type": "integer",
      "description": "At most this many results, 1–30. A page can hold fewer while `next_cursor` is set: read until it is null.",
      "minimum": 1,
      "maximum": 30,
      "default": 30
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟡get_tiktok_video(url, id, fresh)

Fetch one TikTok video by URL or id: video_description, username, create_time, duration, the counts, the sound and whether duets and stitches are allowed. Give exactly one of `url` or `id`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The video URL, `https://www.tiktok.com/@…/video/…`. A short `vm.tiktok.com` link is not read: open it, and copy the address it leads to.",
      "pattern": "^(?:(https?://)?((www|m)\\.)?tiktok\\.com/@[A-Za-z0-9._]{1,24}/video/\\d{8,25}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "id": {
      "type": "string",
      "description": "The numeric video id.",
      "pattern": "^(?:\\d{8,25})$",
      "maxLength": 2048,
      "examples": [
        "7301234567890123456"
      ]
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟡get_tiktok_comments(url, id, limit, cursor, fresh)

Fetch comments on one TikTok video: username, text, create_time, like_count, reply_count and parent_comment_id for replies. Give exactly one of `url` or `id`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The video URL, `https://www.tiktok.com/@…/video/…`. A short `vm.tiktok.com` link is not read: open it, and copy the address it leads to.",
      "pattern": "^(?:(https?://)?((www|m)\\.)?tiktok\\.com/@[A-Za-z0-9._]{1,24}/video/\\d{8,25}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "id": {
      "type": "string",
      "description": "The numeric video id.",
      "pattern": "^(?:\\d{8,25})$",
      "maxLength": 2048,
      "examples": [
        "7301234567890123456"
      ]
    },
    "limit": {
      "type": "integer",
      "description": "At most this many results, 1–50. A page can hold fewer while `next_cursor` is set: read until it is null.",
      "minimum": 1,
      "maximum": 50,
      "default": 50
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢search_tiktok(query, type, limit, cursor, fresh)

Search TikTok by keyword. Returns videos by default; `type=user` returns accounts and `type=hashtag` returns hashtags. Use this for trend research and creator discovery when you do not already have a username. Costs 3 credits (13 for `type=hashtag`), cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "What to search for.",
      "maxLength": 2048,
      "examples": [
        "sourdough starter"
      ]
    },
    "type": {
      "type": "string",
      "description": "What kind of result to return.",
      "enum": [
        "video",
        "user",
        "hashtag"
      ],
      "default": "video"
    },
    "limit": {
      "type": "integer",
      "description": "At most this many results, 1–30. A page can hold fewer while `next_cursor` is set: read until it is null.",
      "minimum": 1,
      "maximum": 30,
      "default": 30
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢get_tiktok_trending(region, fresh)

Fetch the videos TikTok's trending feed shows in one country now, each a full video. One page, which changes from call to call. Use this to see what is spreading. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "region": {
      "type": "string",
      "description": "Two-letter country code, e.g. `US`, `GB`, `DE`.",
      "pattern": "^(?:[A-Za-z]{2})$",
      "maxLength": 2048,
      "default": "US",
      "examples": [
        "US"
      ]
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢search_tiktok_ads(query, cursor, fresh)

Search the ads in TikTok's public Ad Library by keyword: each ad's advertiser, title, industry, when it first and last ran, its video or images, the audience range and impressions, about 12 a page. TikTok's library holds ads shown in Europe. Use this to watch what a brand or a category advertises. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "A brand, an advertiser or words in the ad.",
      "maxLength": 2048,
      "examples": [
        "nike"
      ]
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢get_x_profile(username, url, fresh)

Fetch an X account: username, name, description, location, the link in the profile, verified, created_at, and public_metrics (followers_count, following_count, tweet_count and more) — named as in X's own API v2. Use this to size an account or enrich a handle. Give exactly one of `username` or `url`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "description": "The username. A leading @ is fine.",
      "pattern": "^(?:@?[A-Za-z0-9_]{1,15})$",
      "maxLength": 2048,
      "examples": [
        "nasa"
      ]
    },
    "url": {
      "type": "string",
      "description": "The profile URL, on x.com or twitter.com.",
      "pattern": "^(?:(https?://)?((www|mobile)\\.)?(x|twitter)\\.com/[A-Za-z0-9_]{1,15}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟡get_x_posts(username, url, community_url, cursor, fresh)

Fetch an account's newest posts, about 20 a page with `next_cursor` for older ones; or, with `community_url`, the latest posts in a community, one window. Each post has its text, created_at, public_metrics (likes, reposts, replies, quotes, bookmarks, views), media, hashtags and mentions. Give exactly one of `username` or `url` or `community_url`. Costs 13 credits (3 with `community_url`), cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "description": "The account's username. A leading @ is fine.",
      "pattern": "^(?:@?[A-Za-z0-9_]{1,15})$",
      "maxLength": 2048,
      "examples": [
        "nasa"
      ]
    },
    "url": {
      "type": "string",
      "description": "The account's profile URL.",
      "pattern": "^(?:(https?://)?((www|mobile)\\.)?(x|twitter)\\.com/[A-Za-z0-9_]{1,15}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "community_url": {
      "type": "string",
      "description": "A community's URL, `https://x.com/i/communities/<id>`: its latest posts.",
      "pattern": "^(?:(https?://)?((www|mobile)\\.)?(x|twitter)\\.com/i/communities/\\d{5,25}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟡get_x_post(url, id, fresh)

Fetch one post by its URL or id: its text, author, created_at, public_metrics with views, media, hashtags and mentions, and the post it replies to or quotes. Give exactly one of `url` or `id`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The post's URL, `https://x.com/<username>/status/<id>`.",
      "pattern": "^(?:(https?://)?((www|mobile)\\.)?(x|twitter)\\.com/[A-Za-z0-9_]{1,15}/status(es)?/\\d{5,25}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "id": {
      "type": "string",
      "description": "The number after /status/ in its URL.",
      "pattern": "^(?:\\d{5,25})$",
      "maxLength": 2048,
      "examples": [
        "1930652241230168143"
      ]
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟡get_x_replies(url, id, cursor, fresh)

Fetch the replies to one post, about 30 a page: each is a post, with its author, text, likes and replies, and `referenced_tweets` naming the post it answers. Give exactly one of `url` or `id`. Costs 13 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The post's URL.",
      "pattern": "^(?:(https?://)?((www|mobile)\\.)?(x|twitter)\\.com/[A-Za-z0-9_]{1,15}/status(es)?/\\d{5,25}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "id": {
      "type": "string",
      "description": "The post's id.",
      "pattern": "^(?:\\d{5,25})$",
      "maxLength": 2048,
      "examples": [
        "1930652241230168143"
      ]
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_x_retweeters(url, id, cursor, fresh)

Fetch the accounts that reposted one post, about 20 a page, each with its counts and bio. X's API calls this "retweeted by". Give exactly one of `url` or `id`. Costs 13 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The post's URL.",
      "pattern": "^(?:(https?://)?((www|mobile)\\.)?(x|twitter)\\.com/[A-Za-z0-9_]{1,15}/status(es)?/\\d{5,25}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "id": {
      "type": "string",
      "description": "The post's id.",
      "pattern": "^(?:\\d{5,25})$",
      "maxLength": 2048,
      "examples": [
        "1930652241230168143"
      ]
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_x_followers(username, url, type, cursor, fresh)

Fetch an account's followers, about 70 a page, or with `type=following` the accounts it follows: each an account, with its counts and bio. Use this to see who an audience is. Give exactly one of `username` or `url`. Costs 13 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "description": "The username. A leading @ is fine.",
      "pattern": "^(?:@?[A-Za-z0-9_]{1,15})$",
      "maxLength": 2048,
      "examples": [
        "nasa"
      ]
    },
    "url": {
      "type": "string",
      "description": "The profile URL.",
      "pattern": "^(?:(https?://)?((www|mobile)\\.)?(x|twitter)\\.com/[A-Za-z0-9_]{1,15}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "type": {
      "type": "string",
      "description": "Who follows the account, or whom it follows.",
      "enum": [
        "followers",
        "following"
      ],
      "default": "followers"
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢search_x(query, type, cursor, fresh)

Search X as its own search box does, newest first, about 20 a page; X's search operators work inside `query` (`from:nasa`, `since:2026-09-01`, `lang:en`). `type=user` finds accounts instead. Use this to follow a topic, a brand or a campaign. Costs 13 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Words, a phrase, or X's search operators.",
      "maxLength": 2048,
      "examples": [
        "nasa artemis"
      ]
    },
    "type": {
      "type": "string",
      "description": "Posts, or accounts.",
      "enum": [
        "post",
        "user"
      ],
      "default": "post"
    },
    "cursor": {
      "type": "string",
      "description": "The `meta.next_cursor` from the previous page. Omit for the first page.",
      "maxLength": 2048
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢get_x_community(url, id, fresh)

Fetch one community: its name, description, member_count, created_at, join_policy, rules and creator. `x/posts` with `community_url` gives its posts. Give exactly one of `url` or `id`. Costs 3 credits, cached or not; a failed call is refunded.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The community's URL, `https://x.com/i/communities/<id>`.",
      "pattern": "^(?:(https?://)?((www|mobile)\\.)?(x|twitter)\\.com/i/communities/\\d{5,25}([/?#]\\S*)?)$",
      "maxLength": 2048
    },
    "id": {
      "type": "string",
      "description": "The number in its URL.",
      "pattern": "^(?:\\d{5,25})$",
      "maxLength": 2048,
      "examples": [
        "1926186499399139650"
      ]
    },
    "fresh": {
      "type": "boolean",
      "description": "Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.",
      "default": false
    }
  },
  "required": [],
  "additionalProperties": false
}
🟡sign_up(email, agent)

Ask for a ScrapeField API key for the person you work for. We email them a link; they sign in and type the code this returns, and only then is a key made. Show them `user_code` and tell them to check their email. Then call check_sign_up with `id` every few seconds until it is approved: the key comes once, in that answer. Keep `id` secret. An account an agent starts has no free credits: they buy a pack. Use this only when your person asked you to set ScrapeField up.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "The email address of the person you work for. The account is theirs."
    },
    "agent": {
      "type": "string",
      "description": "What you are called, as the person knows you, e.g. \"Claude Code\". Shown to them in the email.",
      "maxLength": 60
    }
  },
  "required": [
    "email"
  ],
  "additionalProperties": false
}
🟢check_sign_up(id)

`pending` until the person approves; then `approved`, with `api_key`, once. Use the key as `Authorization: Bearer …` on the API and on this server.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "The `id` sign_up returned."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada47 herramientas