API review

folk API review

Lightweight relationship CRM (people, companies, groups, deals/custom objects) with a modern REST API: 100-record batch endpoints, search, idempotency keys, Standard Webhooks, async email/phone enrichment on workspace credits, and a hosted MCP; API only on Premium and above. Best for agencies, VCs and founder-led teams that want a simple CRM their agents can write to.

Verified 25 Oct 2026 · 8 endpoints listed · Official MCP server

What a call costs

The actions you pay for, as folk prices them.

ActionCost
Create up to 100 people; each record succeeds or fails on its ownnone
Update up to 100 peoplenone
Search people with filters (dedupe lookups)none
Create up to 100 companies; a record naming an existing company UPDATES that company (name is the unique key) and its result says sonone
Search companiesnone
Batch-create up to 100 deals or custom objects of one type inside a group. Records are NEVER matched with existing objects: a retried batch creates every object again unless an Idempotency-Key is sentnone
Enrich people: async email and/or phone enrichment for up to 500 people (same engine as the app's 1-click enrichment)Workspace person_enrichment credits, charged per person and per field found; 402 up front if credits cannot cover the maximum possible cost. Our test: 1 credit reserved while running, released when nothing was found (net 0)
Credits used and available for each metered feature in the current period (needs contributor role or above)none

Pricing, plan by plan

US dollars, as folk's pricing page shows them on 25 Oct 2026. Monthly and annual billing are shown apart.

Free tier No free plan; 2-week free trial with all Premium features, no credit card (pricing FAQ). Our trial (2026-10-25) granted 50 enrichments, 50 research credits, 500 AI fields, 50 workflow executions and 1,000 messages; the account is blocked (data kept) if you do not upgrade

Standard

$30/mo

billed monthly

$24/mo

billed annually

per member; $288/yr; 500 enrichments (find emails)/month, 2,000 messages/member/month, 2,000 AI fields/month, 200 research credits/month, 1 custom domain, 1 account sync/member; no REST API, no Zapier/Make apps, no objects (deals); MCP included

No API

Premium

$60/mo

billed monthly

$48/mo

billed annually

per member; $576/yr; REST API, Zapier & Make apps, objects (deals), sequences; 1,000 enrichments/month, 5,000 messages/member/month, 5,000 AI fields/month, 200 research credits/month, 3 custom domains, 5 account syncs/member

API included

Enterprise

$100/mo

billed monthly

$80/mo

billed annually

from $80/member/month billed yearly ($960/yr) or $100/member/month billed monthly; custom limits; group-level permissions, security controls, priority support

API included

Rate limits

Per user (all of a user's keys share it): default 600 requests per 1-minute fixed window AND burst 20 requests per 2-second window; rejected requests still consume quota; 429 with Retry-After; IETF RateLimit / RateLimit-Policy headers plus legacy X-RateLimit-* headers.

More on limitsLess

Windows are fixed and clock-aligned (minute and 2-second); spread to about 10 requests/second. A rate-limited request never runs, so it is always safe to retry. Our hands-on calls returned x-ratelimit-limit: 600, x-ratelimit-limit-burst: 20 and ratelimit-policy "default";q=600;w=60, "burst";q=20;w=2 on every response.

How to get an API key

folk uses API key. The steps below follow folk's own docs.

  1. Create a folk account. API access starts on the Premium plan.
  2. Workspace settings > API (app.folk.app/apps/contacts/network/settings/api-keys)
  3. Send it with every request: header: Authorization: Bearer <api_key>.
  4. Make a first call: Create up to 100 people; each record succeeds or fails on its own. Keep the key in an environment variable, never in the command.
    curl -X POST "https://api.folk.app/v1/people/batch/create" \
      -H "Authorization: Bearer $FOLK_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{}'

Where the docs live

WhatWhere
Documentationdeveloper.folk.app/index
API referencedeveloper.folk.app/api-reference/overview
OpenAPI specdeveloper.folk.app/schemas/2025-06-09.json
llms.txtdeveloper.folk.app/llms.txt
Changelogdeveloper.folk.app/changelog
Base URLhttps://api.folk.app/v1
MCP serverhttps://mcp.folk.app/mcp

Strengths and limits

Where it fits

  • Agencies, VCs and founder-led teams that want a simple CRM their agents can write to
  • Batch create/update of up to 100 people or companies per request with per-record results
  • Async email/phone enrichment of up to 500 people per request from inside the CRM
  • Agent access via mcp.folk.app/mcp (OAuth)

Where it falls short

  • Standard-plan workspaces that need the REST API, Zapier/Make or deals objects: those start at Premium (MCP is on every plan)
  • High-throughput syncs: 600 requests/minute and 20 per 2 seconds per user
  • Deduping companies by domain: folk's uniqueness rule is on company NAME

Worth knowing

  • API access is listed under Premium ($48/member/month annual), not Standard. Source: folk.app/pricing
  • Rate limit is per user, not per key: extra keys for the same user do not add throughput; and 429-rejected calls still burn quota, so always wait Retry-After. Source: developer.folk.app/api-reference/rate-limits
  • Company NAMES are unique per workspace: creating a company with an existing name returns the existing company (batch create updates it); renaming to another company's name fails. Domain is not the key. Source: developer.folk.app/api-reference/companies/create-a-company; confirmed in our test
  • Send an Idempotency-Key on POST/PATCH/PUT/DELETE to retry safely after timeouts; keys are kept 24 hours, scoped to user and workspace. Group-object batch create never matches existing objects, so without a key a retried batch duplicates every object. Source: developer.folk.app/api-reference/idempotency
  • MCP single-record create/update tools are deprecated in favour of the bulk tools (released 2026-10-08), announced 2026-10-20, removed on 2027-04-16. Source: developer.folk.app/changelog
6 moreShow fewer
  • Our April 2026 note predates batch endpoints, search, enrichment and MCP; treat it as stale.
  • MCP is on every plan (Standard included) but the REST API only from Premium, so a Standard workspace can be driven by an AI agent but not by your own code. Source: folk.app/pricing
  • Enrichment results depend on the person's data: our email enrichment of a person with name + company + website but no LinkedIn URL came back not_enriched with missingInputs [linkedinUrl]; docs say a LinkedIn URL is often needed for phones.
  • fullName is parsed by folk and can mangle multi-word names ('OneGTMLab API test' became firstName 'Onegtmlab', lastName 'Test'): send firstName and lastName explicitly.
  • Batch update replaces list fields (groups, companies, emails, phones, urls, addresses) instead of appending. Source: developer.folk.app/schemas/2025-06-09.json
  • Integrations: Zapier & Make apps are Premium+ (pricing table); n8n is shown via folk's own n8n + Typeform tutorial using the REST API. Source: folk.app/pricing; developer.folk.app/use-cases/n8n-typeform

Our take

We considered folk when choosing a free CRM for our own team and ruled it out because it has no free plan: the 2-week trial ends with the account blocked unless you upgrade, and API access is listed under the Premium plan.

Who should use it

Use folk for
Agencies, VCs and founder-led teams that want a simple CRM their agents can write to
Look elsewhere for
Standard-plan workspaces that need the REST API, Zapier/Make or deals objects: those start at Premium (MCP is on every plan)

If folk is not the answer

Other CRM tools in this directory, each with its own review.

Before you build

Four things to settle first, each read off folk's own pages.

  • Confirm the API is on your planAPI access starts on the Premium plan. Free tier: No free plan.
  • Keep the key out of your codeAPI key. It is sent as: header: Authorization: Bearer <api_key>.
  • Design around the rate limitPer user (all of a user's keys share it): default 600 requests per 1-minute fixed window AND burst 20 requests per 2-second window; rejected requests still consume quota; 429 with Retry-After; IETF RateLimit / RateLimit-Policy headers plus legacy X-RateLimit-* headers.
  • Know the catch before you scaleAPI access is listed under Premium ($48/member/month annual), not Standard. Source: folk.app/pricing

Want us to build it for you?

Tell us what you want folk to do in your stack. We will show you how we would wire it into your data, outbound or CRM, and what we would check first.

Read from folk.app/pricing, developer.folk.app/api-reference/overview and developer.folk.app/api-reference/rate-limits. Verified 25 Oct 2026.

All 8 endpointsFor developers: method, path, what it does and what it costs.

Base URL: api.folk.app/v1

Bulk and async: Batch endpoints for people, companies and group objects, max 100 records per request; whole request rejected on auth/rate-limit/invalid JSON/over 100 records. Source: developer.folk.app/api-reference/batch-requests

Webhooks: Yes. Subscribe a URL to events (e.g. person.created, person_enrichment events); signed with HMAC-SHA256 per the Standard Webhooks spec; secret shown once at creation. Source: developer.folk.app/webhooks/handle-deliveries

8 endpoints
MethodPathWhat it doesCost
POST/people/batch/createCreate up to 100 people; each record succeeds or fails on its ownnone
POST/people/batch/updateUpdate up to 100 peoplenone
POST/people/searchSearch people with filters (dedupe lookups)none
POST/companies/batch/createCreate up to 100 companies; a record naming an existing company UPDATES that company (name is the unique key) and its result says sonone
POST/companies/searchSearch companiesnone
POST/groups/{groupId}/{objectType}/batch/createBatch-create up to 100 deals or custom objects of one type inside a group. Records are NEVER matched with existing objects: a retried batch creates every object again unless an Idempotency-Key is sentnone
POSTasync/person-enrichmentsEnrich people: async email and/or phone enrichment for up to 500 people (same engine as the app's 1-click enrichment)Workspace person_enrichment credits, charged per person and per field found; 402 up front if credits cannot cover the maximum possible cost. Our test: 1 credit reserved while running, released when nothing was found (net 0)
GET/creditsCredits used and available for each metered feature in the current period (needs contributor role or above)none