ScrapeField

com.scrapefieldPublished by scrapefield.comOfficial publisherv1.0.0Updated Oct 24, 2026

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

Overview

AI-generated overview

Remote MCP server giving an assistant tools to pull Google Maps, LinkedIn, Instagram, TikTok and X data, with a keyless demo mode.

What you can do
Search and read Google Maps places, reviews, photos and owner posts, including ratings, hours and contact details. Look up LinkedIn profiles, companies, employee stats, people, services, jobs, ads, groups, posts, comments and reactions. Read Instagram profiles, posts, comments and hashtag feeds, and search accounts. Read TikTok profiles, followers, videos, comments and trending feed, and search videos, users, hashtags and ads. Read X profiles, posts and single posts, and search across platforms.
When to use it
Useful for lead enrichment, competitor and ad monitoring, creator discovery, social listening and review sentiment work where an assistant needs public data from these five platforms without running proxies or browsers. Demo mode lets you try the tools before signing up.
Requirements
A remote streamable HTTP endpoint; no local runtime or package. A ScrapeField API key sent as an Authorization Bearer header for real results; without it the server runs in demo mode with fixed answers, and a sign_up tool can request a key by email. Calls consume credits per the published pricing.
Before you install
Real data requires a paid API key sent in the Authorization header, and most tools cost credits per call, some heavily (for example the Instagram hashtag tool at 64 credits). The server collects public profile, post and ad data from third parties, including LinkedIn email lookup with detail=with_email, so consider privacy and platform terms. Demo mode returns fixed sample answers, not live data.

Installation

In SourceWeft

  1. Open ScrapeField in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.scrapefield%2Fscrapefield/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

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

README

ScrapeField

Google Maps, LinkedIn, Instagram, TikTok and X data through one REST API, and as tools for AI agents. 45 endpoints, each platform's data in its own documented shape, and a published credit cost for every call. Blocks are handled for you: no proxies to rotate, no CAPTCHAs to solve, no browser to run.

This repository holds the agent skill, the MCP server's setup and examples. The API itself is at scrapefield.com.

Try it with no key

bash
curl "https://api.scrapefield.com/v1/google-maps/place?place_id=ChIJN1t_tDeuEmsRUsoyG83frY4&demo=true"

Add demo=true to any endpoint: one fixed answer in the real shape, charged nothing, no account. For real answers, get a key at scrapefield.com and send it as Authorization: Bearer sf_live_….

Platforms

PlatformEndpointsWhat you get
Google Maps5Places, details, reviews, photos and posts.
LinkedIn18Profiles, companies, search, posts and jobs.
Instagram6Profiles, posts, comments and hashtags.
TikTok8Profiles, videos, comments and search.
X8Profiles, posts, replies and search.

For AI agents: the MCP server

A remote MCP server at https://scrapefield.com/mcp (streamable HTTP). Every endpoint is a tool. With no key it runs in demo mode, and its sign_up tool asks the user for an account by email.

Claude Code:

bash
claude mcp add --transport http scrapefield https://scrapefield.com/mcp \  --header "Authorization: Bearer sf_live_…"

A client that reads mcp.json:

json
{  "mcpServers": {    "scrapefield": {      "type": "http",      "url": "https://scrapefield.com/mcp",      "headers": { "Authorization": "Bearer sf_live_…" }    }  }}

The setup for each client: Claude Code, Cursor, Codex, VS Code, Claude, ChatGPT. The registry entry is mcp/server.json.

The agent skill

skills/scrapefield/SKILL.md tells a coding agent when to reach for the API, when not to, and the traps. For Claude Code, copy the folder into .claude/skills/ in your project or in your home folder. For Cursor, save the file as a rule in .cursor/rules/. The current version is always at scrapefield.com/skill.md.

Examples

Each folder has demo, which needs no key, and live, which reads your key from SCRAPEFIELD_KEY.

Documentation

Questions: [email protected].

License

MIT: use the skill and the examples as you like. See LICENSE.

Source: README.md at commit 8b598e1

Tools

47

search_places

Search Google Maps for businesses and places

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.

Parameterslatlngfreshlimitqueryrequiredcursorcountrylanguageradius_m

get_place

Get one Google Maps place in full

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.

Parametersurlfreshlanguageplace_id

get_place_reviews

Get the reviews of a Google Maps place

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.

Parametersurlsortfreshlimitcursorplace_id

get_place_photos

Get the photos of a Google Maps place

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.

Parametersurlfreshlimitcursorplace_id

get_place_posts

Get an owner's posts on a Google Maps place

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.

Parametersurlfreshcursorplace_id

get_linkedin_profile

Get a LinkedIn profile

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.

Parametersurlfreshdetailvanity_name

get_linkedin_company

Get a LinkedIn company page

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.

Parametersurlfreshvanity_name

get_linkedin_employee_stats

Count a company's people on LinkedIn

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.

Parametersurlfreshcompany_idvanity_name

get_linkedin_company_people

Get the people at a company, from LinkedIn

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.

Parametersfreshcursorcompany_idrequired

search_linkedin_people

Search people on LinkedIn

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.

Parametersfreshquerytitlecursorschoolsourcelocationlast_namefirst_namepast_companycurrent_company

search_linkedin_services

Find people who offer services on LinkedIn

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.

Parametersfreshqueryrequiredcursorlocation

search_linkedin_companies

Search companies on LinkedIn

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.

Parametersfreshqueryrequiredcursorlocationcompany_size

get_linkedin_posts

Get or search LinkedIn posts

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.

Parametersurlfreshlimitquerycursorcompany_urlposted_within

get_linkedin_post

Get one LinkedIn post

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.

Parametersurlrequiredfresh

get_linkedin_post_comments

Get the comments on a LinkedIn post

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.

Parametersurlsortfreshcursorcomment_url

get_linkedin_post_reactions

Get who reacted to a LinkedIn post

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.

Parametersurlfreshcursorcomment_url

get_linkedin_activity

Get a person's LinkedIn comments and reactions

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.

Parametersurltypefreshcursorvanity_nameposted_within

search_linkedin_jobs

Search LinkedIn job postings

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.

Parameterssortfreshlimitqueryrequiredcursorlocationcompany_ideasy_applyposted_withinworkplace_typeemployment_typeexperience_level

get_linkedin_job

Get one LinkedIn job posting in full

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.

Parametersidurlfresh

search_linkedin_ads

Search LinkedIn's Ad Library

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.

Parametersfreshquerycursorend_datecountriesadvertisercompany_idstart_date

get_linkedin_ad

Get one ad from LinkedIn's Ad Library

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.

Parametersidurlfresh

get_linkedin_group

Get one LinkedIn group

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.

Parametersidurlfresh

search_linkedin_groups

Search LinkedIn groups

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.

Parametersfreshqueryrequiredcursor

get_instagram_profile

Get an Instagram profile

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.

Parametersurlfreshusername

get_instagram_posts

Get recent posts from an Instagram profile

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.

Parametersurlfreshlimitcursorusername

get_instagram_post

Get one Instagram post

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.

Parametersurlfreshshortcode

get_instagram_comments

Get the comments on an Instagram post

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.

Parametersurlfreshlimitcursorshortcode

get_instagram_hashtag

Get recent posts for an Instagram hashtag

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.

Parameterstagrequiredfreshlimitcursor

search_instagram_accounts

Search Instagram accounts

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.

Parametersfreshlimitqueryrequired

get_tiktok_profile

Get a TikTok profile

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.

Parametersurlfreshusername

get_tiktok_followers

Get a TikTok account's followers or following

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.

Parametersurltypefreshcursorusername

get_tiktok_videos

Get recent videos from a TikTok profile

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.

Parametersurlfreshlimitcursorusername

get_tiktok_video

Get one TikTok video

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.

Parametersidurlfresh

get_tiktok_comments

Get the comments on a TikTok video

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.

Parametersidurlfreshlimitcursor

search_tiktok

Search TikTok

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.

Parameterstypefreshlimitqueryrequiredcursor

search_tiktok_ads

Search TikTok's Ad Library

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.

Parametersfreshqueryrequiredcursor

get_x_profile

Get an X profile

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.

Parametersurlfreshusername

get_x_posts

Get an X account's or community's posts

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.

Parametersurlfreshcursorusernamecommunity_url

get_x_post

Get one post from X

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.

Parametersidurlfresh

get_x_replies

Get the replies to an X post

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.

Parametersidurlfreshcursor

get_x_retweeters

Get who reposted an X post

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.

Parametersidurlfreshcursor

get_x_followers

Get an X account's followers or following

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.

Parametersurltypefreshcursorusername

search_x

Search X

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.

Parameterstypefreshqueryrequiredcursor

get_x_community

Get an X community

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.

Parametersidurlfresh

sign_up

Ask for a ScrapeField account for the person you work for

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.

Parametersagentemailrequired

check_sign_up

Check whether the person approved you

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

Parametersidrequired

Version history

1
  1. v1.0.0LatestOct 10, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts