ScrapeField
Google Maps, LinkedIn, Instagram, TikTok and X data as tools. Demo mode needs no key.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"scrapefield": {
"url": "https://scrapefield.com/mcp"
}
}
}远程端点
https://scrapefield.com/mcpstreamable-http它能做什么
工具清单
工具(47)
🟢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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The `id` sign_up returned."
}
},
"required": [
"id"
],
"additionalProperties": false
}社区
证据