What Your AI Agent Can Do for Free
One LinkedIn account, the full UI, API and MCP, no card. What runs unlimited, what runs on a daily allowance, and what stays paid.
The GTM API free plan gives one connected LinkedIn account the whole product: the interface, the REST API and the MCP server, for one user, with no card and no expiry. The plan is metered, not cut down. What it meters is how many actions of each type you can run per day, and the one capability it holds back entirely is webhooks.
You connect one LinkedIn account, and every action a paid account can call is callable from it. Peter Kaliuzhny, partner at GTM API, walks the plan end to end in the video below. The rest of this page is the same tour, split into the sections you can jump to, with the daily numbers written down.
On this page
- What the free plan includes
- The daily caps, in one table
- Connect, then wait out the initial sync
- The free daily sync of every surface
- Reading the database costs nothing
- Forty self-syncs a day, on your schedule
- Outreach: invites, messages, InMails, one post
- Engagement: visits, comments, reactions
- Data: scraping and enrichment units
- Housekeeping: inbox, network, profile
- Webhooks, the one paid-only feature
- FAQ
- Sources
What the free plan includes
The whole GTM API product on one connected LinkedIn account, for one user, with no card and no expiry. The plan documentation calls it Sandbox, the forever free plan. You can drive that account from the interface, from your own backend over REST, or from an AI agent over MCP, and it is the same contract underneath all three.
- One connected LinkedIn account. It runs in one parallel cloud browser session, so a single agent works the account at a time.
- One user. The workspace is single seat, which is what makes this a plan for running your own profile.
- The full action surface. Outreach, engagement, scraping, enrichment, inbox and network operations are all reachable. The endpoints are the ones paid accounts call.
- No card and no expiry. The account does not lapse into a paywall after a fortnight.
What changes on a paid plan is volume and two capabilities: more connected accounts, and webhooks. Paid plans start from $10 per connected account per month, and the current grid sits on the pricing page.
The daily caps, in one table
Every action type has its own daily allowance on a free account, and the allowance is checked before the call runs. Here is the whole grid, per connected account, per day.
| Bucket | Action | Free plan, per day | What one unit is |
|---|---|---|---|
| Sync | Full sync of every surface | Included, once a day | Profile, connections, inbox, invites, premium status |
| Sync | Database reads | Unlimited, free | One query against your synced data |
| Sync | Self-syncs | 40 | One surface refreshed on demand |
| Outreach | Connection requests | 5 | One invitation sent |
| Outreach | Messages | 10 | One message sent |
| Outreach | InMails | 5 | One InMail sent |
| Outreach | Posts | 1 | One post published or scheduled |
| Engagement | Profile visits | 8 | One profile opened |
| Engagement | Comments | 5 | One comment on a post or on a comment |
| Engagement | Reactions | 5 | One reaction |
| Engagement | Endorsements | 5 | One skill endorsed |
| Data | Scraping | 15 | One page of results, 25 leads on a Sales Navigator page |
| Data | Enrichment | 12 | One person |
| Housekeeping | Messaging general | 15 | One inbox operation |
| Housekeeping | Networking general | 6 | One invite, connection or degree operation |
| Housekeeping | Profile edits | 2 | One edit to your own profile |
| Webhooks | Event deliveries | 0 | Paid plans only |
A few points about that table matter more than any individual number in it.
- The caps are per connected account. They travel with the account, so a second account is a plan question and never a way to double a bucket.
- They cap volume and never access. Nothing in the free plan is a stub or a preview. A call you can make at 5 a day is the same call a paid account makes more often.
- These are plan allowances and belong to GTM API. LinkedIn runs its own ceilings on top, and they are a separate subject with their own page, LinkedIn limits.
The allowance is enforced before an action runs, so an agent in a loop gets refused rather than discovering the problem in the account’s health afterwards. Across 20,000+ LinkedIn accounts, gtm-api.com reports under a 1% ban rate on that approach.
The plan cap is one of two layers. The numbers in the table are the maximum the free plan will ever allow, but they are not what a fresh account starts at. On top of the plan cap, GTM API runs smart limits, a warmup engine that starts a newly connected account low and raises its allowance day by day, the way a careful human would ramp up. Smart limits work exactly the same on free and paid plans, and they are yours to control: switch them off and the account goes straight to the plan caps, or leave them on and let the account warm up toward them. The only free-plan difference is where the warmup curve tops out, which is the free tier’s own ceiling.

rate_limited, the bucket named on this screen is the one you emptied.Connect, then wait out the initial sync
A freshly connected account is not usable straight away. It goes through an initial synchronization first, and most activities and API calls are unavailable until that finishes.
The reason is the two things everything else on this page rests on. The inbox has to be pulled in properly, and the database has to be built up far enough to answer questions like whether you are connected with a given person. By design, GTM API runs that first pass deliberately slowly, which is the safe way to do it and also the slow way, so a large account with years of history can take a while. Calls made while it is still syncing come back refused, which is expected behaviour and nothing to report. Once the sync is done the account goes live, and the daily sync, the database and every action bucket become available at once.
▶Watch: why a new account syncs slowly first, from 1:22
What the initial sync is for, why it is run slowly on purpose, and the honest warning that a big account takes time. Also the part worth remembering: during the initial sync most calls will refuse, and that is expected behaviour.
The free daily sync of every surface
Once a day, on a schedule, GTM API runs a sync of every surface on the account, free, without touching any allowance. That is what keeps the account’s picture current with no work from you.
The surfaces covered in that pass:
- Profile info and health. Who the account is and what shape it is in.
- Connections. The network as it stands.
- Inbox. All conversations and the messages inside them.
- Sales Navigator inbox. Kept separately from the regular one.
- Sent invites. What you have out and pending.
- Incoming invites. What is waiting for a decision.
- Premium status. Which tier the account is on.
For an agent that runs on a morning schedule this is most of the job already done. It wakes up to the whole inbox, the new connections and the pending invites, and it can spend its first calls deciding what to do about them.
▶Watch: the surfaces synced free every day, from 2:06
The list read out surface by surface: profile and health, connections, inbox conversations and messages, the Sales Navigator inbox, sent invites, incoming invites, premium status. All of it once a day, at no cost against the buckets.
Reading the database costs nothing
Once the account is synced, queries against that stored data are unlimited and free on the free plan. No bucket is touched and there is no daily ceiling on them.
These are the small questions an agent asks constantly before it does anything else. Am I connected with this person. Have we ever had a conversation. When did I last send them a message and what kind of message was it. Has anyone else on the team been in touch with them. Answering those out of a local dataset is what lets an agent check its facts as often as it likes, with the whole daily allowance still intact for the calls that change something.
▶Watch: unlimited free requests against your own dataset, from 2:46
The kinds of question the synced dataset answers, listed one after another, and the point that all of them are free. Handy is the word used, and for an agent making decisions per lead it is the right one.
Forty self-syncs a day, on your schedule
On top of the daily pass you get 40 self-syncs a day, fired whenever you want them. One request refreshes one surface, so the budget is 40 surface refreshes and you decide how to spend it.
That budget stretches further than it looks. An hourly inbox refresh through a working day costs well under half of it. A short burst is the other useful shape: publish a post, then refresh the engagement surface every five minutes for half an hour while the comments arrive, and go quiet again.
“Imagine you’re running a post and then you expect some people to comment, and you can run this synchronization of checking the connections from the people from the post every five minutes.”
Spending the budget well is mostly about matching the refresh rate to how fast the surface actually changes. An inbox rewards a steady poll. Premium status does not need checking at all between daily passes.
▶Watch: 40 self-syncs and how to schedule them, from 3:39
Why the self-sync is called the most important action on the plan, the hourly inbox example, the five-minute burst after a post, and the accounting rule that one request equals one surface. The quotation above comes from this stretch.

Outreach: invites, messages, InMails, one post
The outreach bucket is the one people check first. On a free account it runs at 5 connection requests, 10 messages, 5 InMails and 1 post per day.
Post publishing sitting in this bucket is worth a moment. Scheduling a post is an action your agent takes through the same API as everything else, which takes one more tool out of the stack. One a day is also close to what a single profile should be posting anyway, so the cap rarely bites in practice.
The daily numbers here are also, deliberately, well inside what a healthy LinkedIn account can carry. Anyone planning real sending volume should read them next to the platform’s own ceilings, which are covered on the LinkedIn limits page and in scaling LinkedIn outreach.
▶Watch: the basic outreach actions, from 4:52
Connection requests, messages, InMails through Sales Navigator or free InMail, and post scheduling, named as one bucket. The aside about no longer needing separate scheduling software is here too.
Engagement: visits, comments, reactions
The engagement bucket covers the actions that make an account look like a person using LinkedIn: 8 profile visits, 5 comments, 5 reactions and 5 endorsements a day.
Comments and reactions both work at two levels. You can comment on a post or reply to someone else’s comment, and you can react to a post or to a comment. For an agent working a warm-up routine or following a set of target accounts, that is enough surface to be present in a conversation without ever opening the app.
▶Watch: what sits in the engagement bucket, from 5:18
Commenting on posts and on comments, reacting to posts and to comments, visiting profiles, endorsing skills, and the caps that come with them on a free account.
Data: scraping and enrichment units
Scraping and enrichment both run through your own connected account, and they are measured in different units. Scraping is counted in pages of results, 15 a day. Enrichment is counted in people, 12 a day.
The page unit is the one that surprises people, and it works in your favour. A Sales Navigator search result page carries 25 leads, so 15 pages is up to 375 leads a day off search alone. The same page unit applies to the other things you can scrape: the people who commented on a post, with their comments, or everyone who engaged with it.
Enrichment is the per-person move. Your account visits the lead’s profile and pulls the current data back, which makes it the right call for a decision about one individual. Someone comments on your post and you want to know whether they are worth a reply. Someone sends an invitation and your agent has to choose between accepting and ignoring it. Twelve of those a day is a lot of qualified decisions for a single profile.
Both of these use your own LinkedIn account, which is what makes the data fresh and also what makes it worth pacing. Bulk list building at volume is a job for tooling that does not touch your profile at all, and the trade-offs between the two approaches sit on the LinkedIn API guide.
▶Watch: scraping pages and enrichment per person, from 5:35
Fifteen pages a day, the 25 leads on a Sales Navigator page, the other things a page unit covers, and the enrichment example: an agent researching whoever just commented or just sent an invitation, then deciding what to do.
Housekeeping: inbox, network, profile
The quieter buckets are the ones that let an agent actually maintain an account: 15 general messaging operations, 6 general networking operations and 2 profile edits a day.
- Messaging general, 15 a day. Working the inbox itself: marking a thread read or unread, creating a group chat, downloading an attachment, reacting to a message, muting a group.
- Networking general, 6 a day. Managing the network: withdrawing an invitation you sent, removing a connection, accepting or ignoring an incoming invitation, and checking the degree of connection to a lead.
- Profile edits, 2 a day. Changes to your own profile, which is enough for a headline swap or a section update without turning the profile into a moving target.
The degree check deserves its own note, because it is the fresh counterpart to the free database read. Your synced data says you are connected with someone as of the last sync. They may have removed you since. When an answer has to be right at this moment rather than right this morning, the degree check goes and looks.
▶Watch: messaging general, networking general and the degree check, from 6:51
Everything the inbox bucket covers, then the network operations, then the reasoning behind the degree check: the dataset knows you were connected, and a live check tells you whether you still are.
Webhooks, the one paid-only feature
Webhooks are the single capability the free plan does not have. They are off rather than reduced, and the reason is straightforward.
“To trigger webhooks, we need to run the account continuously, which uses servers, and we’re not allowing that on the free plan.”
A webhook fires the moment something happens on the account: a message arrives, someone comments, an invitation comes in. Delivering that in real time means holding a live session open all day, and that cost is what the paid plans carry.
The free replacement is polling, which is what the 40 self-syncs are for. Your agent asks instead of being told. A half-hourly inbox poll across a sixteen-hour day is 32 self-syncs, which fits inside the daily budget with room to spare, and it gives you a worst-case delay of thirty minutes on a new message. Tighten the interval on the surfaces that matter and leave the rest to the daily pass.
▶Watch: why webhooks stay on the paid plan, from 7:46
The one downside named plainly, the server cost behind it, what a webhook would have told you about incoming messages, comments and invitations, and the instruction to poll with self-syncs. The second quotation on this page is transcribed from here.
Frequently Asked Questions
Does the GTM API free plan expire?
No. It covers one connected LinkedIn account for one user, with no card required and no end date. The documentation calls it Sandbox, the forever free plan. Paid plans start from $10 per connected account per month and add more accounts, higher daily allowances and webhooks.
How many LinkedIn actions can I run per day on the free plan?
Per connected account, per day: 5 connection requests, 10 messages, 5 InMails, 1 post, 8 profile visits, 5 comments, 5 reactions, 5 endorsements, 15 pages of scraping, 12 enrichments, 15 general messaging operations, 6 general networking operations and 2 profile edits. Alongside those you get 40 self-syncs, one free full sync of every surface, and unlimited reads of your synced data.
Why are my API calls refused right after I connect an account?
Because the account is still in its initial synchronization. That first pass builds the inbox and the connection data the rest of the system reads from, and it runs slowly on purpose, so a large account with a long history can take a while. Most activities and API calls stay unavailable until it completes, then the account goes live and every bucket opens at once.
What counts as one scraping unit and one enrichment unit?
Scraping is counted in pages of results, and one Sales Navigator search page holds 25 leads, so the free allowance of 15 pages is up to 375 leads a day. Enrichment is counted in people: one request is one profile visited from your own account, with the current data pulled back, and the free allowance is 12 a day.
What is a self-sync, and how is it different from the daily sync?
The daily sync is automatic. Once a day GTM API refreshes every surface on the account for free: profile and health, connections, the inbox, the Sales Navigator inbox, sent invites, incoming invites and premium status. A self-sync is the same refresh triggered by you, at a moment you choose, and one request covers one surface. The free plan carries 40 of them a day.
Can I use webhooks on the free plan?
No, webhooks are the one capability the plan excludes entirely, because delivering events in real time means running the account continuously on a server. The replacement is polling with self-syncs: a half-hourly inbox poll over a sixteen-hour day costs 32 of the 40 daily self-syncs and caps your delay at thirty minutes.
Do database reads count against a daily allowance?
No. Queries against your own synced data are unlimited and free, so an agent can check whether you are connected with someone, whether you have messaged them before or when the last message went out, as often as it likes. The answers reflect the last sync, so for a fact that has to be current right now use a self-sync or a degree check instead.
Sources & Further Reading
- Free plan documentation, docs.gtm-api.com, Billing and plans (“Sandbox, the forever free plan”), read 27 August 2026
- Walkthrough video, “GTM API Free Plan: Manage Your LinkedIn with AI Agents for Free (Every Limit Explained)”, gtm-api.com on YouTube, 27 August 2026. Every clip on this page is cut from it, and both quotations are transcribed from it
- Free plan daily allowances per action bucket, self-reported by gtm-api.com in the walkthrough video and the plan documentation, read 27 August 2026. The Smart Limits screenshot on this page is a live account still in warmup, so the caps visible on it sit below the plan figures
- Model Context Protocol, modelcontextprotocol.io, the open standard published by Anthropic in late 2024, which is how an agent reaches these actions
- Related: LinkedIn limits · LinkedIn MCP server · The LinkedIn API · The AI Assistant in the docs
Connect one account and see.
Create a free account, connect one LinkedIn profile, wait out the initial sync, then point your agent at it. No card, no expiry, and the whole action surface is there from the first call.
Last updated: September 2026 · Plan limits verified against a live free workspace at time of publication
