Skip to content

Grinfi.io API (2.0.0)

Complete API reference for Grinfi.io — the all-in-one LinkedIn & email outreach platform. Use this API to manage your CRM contacts, run outreach automations, send messages, and integrate Grinfi with your own tools.

Authentication

All requests require a Bearer token in the Authorization header.

  1. Log in at leadgen.grinfi.io
  2. Go to Settings → API Keys
  3. Copy your key and pass it as:
    Authorization: Bearer YOUR_API_KEY

Pagination

List endpoints support limit (default 20) and offset (default 0) query parameters. Responses include total count and has_more boolean.

Filtering

Most list endpoints accept a filter object. Supported value types: | Type | Example | SQL equivalent | |------|---------|----------------| | Scalar | "status": "ok" | = 'ok' | | Array | "status": ["ok", "pending"] | IN ('ok', 'pending') | | Object | "created_at": {">=": "2024-01-01"} | >= '2024-01-01' | | "is_null" | "email": "is_null" | IS NULL | | "is_not_null" | "email": "is_not_null" | IS NOT NULL | Supported operators: =, !=, <, <=, >, >=, <>

Rate Limits

API requests are rate-limited per account. If you exceed the limit, you'll receive a 429 response. Use exponential backoff when retrying.

Download OpenAPI description
Overview
URL
Grinfi.io Support
License
Languages
Servers
Production
https://leadgen.grinfi.io

Manage your CRM contacts (leads). Search, create, update, and organize contacts across lists and pipeline stages.

Operations

Request

Retrieve full details of a contact by their UUID.

Security
bearerAuth
Path
uuidstringrequired

Resource UUID.

curl -i -X GET \
  'https://leadgen.grinfi.io/leads/api/leads/{uuid}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Contact details.

Bodyapplication/json
uuidstring
Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
team_idinteger
user_idinteger or null
sender_profile_uuidstring or null
list_uuidstring
data_source_uuidstring or null
pipeline_stage_uuidstring
company_uuidstring or null
namestring or null
Example: "John Doe"
first_namestring or null
Example: "John"
last_namestring or null
Example: "Doe"
company_namestring or null
Example: "Acme Inc"
company_ln_idstring or null
positionstring or null
Example: "VP of Sales"
headlinestring or null
Example: "VP of Sales at Acme Inc"
aboutstring or null
avatar_urlstring or null
ln_idstring or null

LinkedIn member ID.

sn_idstring or null

Sales Navigator ID.

linkedinstring or null
Example: "john-doe-123456"
facebookstring or null
twitterstring or null
work_emailstring or null
Example: "john@acme.com"
personal_emailstring or null
work_phone_numberstring or null
personal_phone_numberstring or null
connections_numberinteger or null
followers_numberinteger or null
primary_languagestring or null
supported_languagesArray of strings or null
has_open_profileinteger or null
has_verified_profileinteger or null
has_premiuminteger or null
experienceArray of objects or null
postsArray of objects or null
educationsArray of objects or null
skillsArray of strings or null
raw_addressstring or null
Example: "San Francisco, CA, USA"
locationArray of objects or null
tagsArray of strings or null

Tag UUIDs.

statusstring
Example: "ok"
linkedin_statusstring
Example: "active"
email_statusstring or null
unread_countsArray of objects
last_automation_approve_atstring or null(date-time)
created_atstring or null(date-time)
updated_atstring or null(date-time)
Response
application/json
{ "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "team_id": 0, "user_id": 0, "sender_profile_uuid": "string", "list_uuid": "string", "data_source_uuid": "string", "pipeline_stage_uuid": "string", "company_uuid": "string", "name": "John Doe", "first_name": "John", "last_name": "Doe", "company_name": "Acme Inc", "company_ln_id": "string", "position": "VP of Sales", "headline": "VP of Sales at Acme Inc", "about": "string", "avatar_url": "string", "ln_id": "string", "sn_id": "string", "linkedin": "john-doe-123456", "facebook": "string", "twitter": "string", "work_email": "john@acme.com", "personal_email": "string", "work_phone_number": "string", "personal_phone_number": "string", "connections_number": 0, "followers_number": 0, "primary_language": "string", "supported_languages": [ "string" ], "has_open_profile": 0, "has_verified_profile": 0, "has_premium": 0, "experience": [ { … } ], "posts": [ { … } ], "educations": [ { … } ], "skills": [ "string" ], "raw_address": "San Francisco, CA, USA", "location": [ { … } ], "tags": [ "string" ], "status": "ok", "linkedin_status": "active", "email_status": "string", "unread_counts": [ { … } ], "last_automation_approve_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }

Request

Update one or more fields on an existing contact. Only include the fields you want to change.

Security
bearerAuth
Path
uuidstringrequired

Resource UUID.

Bodyapplication/jsonrequired
first_namestring
Example: "John"
last_namestring
Example: "Doe"
company_namestring
Example: "Acme Inc"
ln_idstring or null

LinkedIn member ID.

Example: "ACoAAAB6GuQBOXo75numqJfM9u08uHgjOSo4p9U"
sn_idstring or null

Sales Navigator ID.

Example: "ACwAAAB6GuQBEz2TMHbG4sa7Nw5wSi7cJXMQkPI"
linkedinstring or null

LinkedIn profile handle.

Example: "john-doe-123456"
emailstring(email)
Example: "john.doe@example.com"
aboutstring

Bio or description.

domainstring

Company domain (used for email discovery).

Example: "acme.com"
headlinestring or null
Example: "VP of Sales at Acme Inc"
positionstring or null
Example: "VP of Sales"
raw_addressstring or null
Example: "San Francisco, CA, USA"
curl -i -X PUT \
  'https://leadgen.grinfi.io/leads/api/leads/{uuid}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "first_name": "John",
    "last_name": "Doe",
    "company_name": "Acme Inc",
    "ln_id": "ACoAAAB6GuQBOXo75numqJfM9u08uHgjOSo4p9U",
    "sn_id": "ACwAAAB6GuQBEz2TMHbG4sa7Nw5wSi7cJXMQkPI",
    "linkedin": "john-doe-123456",
    "email": "john.doe@example.com",
    "about": "string",
    "domain": "acme.com",
    "headline": "VP of Sales at Acme Inc",
    "position": "VP of Sales",
    "raw_address": "San Francisco, CA, USA"
  }'

Responses

Updated contact.

Bodyapplication/json
uuidstring
Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
team_idinteger
user_idinteger or null
sender_profile_uuidstring or null
list_uuidstring
data_source_uuidstring or null
pipeline_stage_uuidstring
company_uuidstring or null
namestring or null
Example: "John Doe"
first_namestring or null
Example: "John"
last_namestring or null
Example: "Doe"
company_namestring or null
Example: "Acme Inc"
company_ln_idstring or null
positionstring or null
Example: "VP of Sales"
headlinestring or null
Example: "VP of Sales at Acme Inc"
aboutstring or null
avatar_urlstring or null
ln_idstring or null

LinkedIn member ID.

sn_idstring or null

Sales Navigator ID.

linkedinstring or null
Example: "john-doe-123456"
facebookstring or null
twitterstring or null
work_emailstring or null
Example: "john@acme.com"
personal_emailstring or null
work_phone_numberstring or null
personal_phone_numberstring or null
connections_numberinteger or null
followers_numberinteger or null
primary_languagestring or null
supported_languagesArray of strings or null
has_open_profileinteger or null
has_verified_profileinteger or null
has_premiuminteger or null
experienceArray of objects or null
postsArray of objects or null
educationsArray of objects or null
skillsArray of strings or null
raw_addressstring or null
Example: "San Francisco, CA, USA"
locationArray of objects or null
tagsArray of strings or null

Tag UUIDs.

statusstring
Example: "ok"
linkedin_statusstring
Example: "active"
email_statusstring or null
unread_countsArray of objects
last_automation_approve_atstring or null(date-time)
created_atstring or null(date-time)
updated_atstring or null(date-time)
Response
application/json
{ "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "team_id": 0, "user_id": 0, "sender_profile_uuid": "string", "list_uuid": "string", "data_source_uuid": "string", "pipeline_stage_uuid": "string", "company_uuid": "string", "name": "John Doe", "first_name": "John", "last_name": "Doe", "company_name": "Acme Inc", "company_ln_id": "string", "position": "VP of Sales", "headline": "VP of Sales at Acme Inc", "about": "string", "avatar_url": "string", "ln_id": "string", "sn_id": "string", "linkedin": "john-doe-123456", "facebook": "string", "twitter": "string", "work_email": "john@acme.com", "personal_email": "string", "work_phone_number": "string", "personal_phone_number": "string", "connections_number": 0, "followers_number": 0, "primary_language": "string", "supported_languages": [ "string" ], "has_open_profile": 0, "has_verified_profile": 0, "has_premium": 0, "experience": [ { … } ], "posts": [ { … } ], "educations": [ { … } ], "skills": [ "string" ], "raw_address": "San Francisco, CA, USA", "location": [ { … } ], "tags": [ "string" ], "status": "ok", "linkedin_status": "active", "email_status": "string", "unread_counts": [ { … } ], "last_automation_approve_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }

Request

Permanently delete a contact by UUID. This creates a background deletion job.

Security
bearerAuth
Path
uuidstringrequired

Resource UUID.

curl -i -X DELETE \
  'https://leadgen.grinfi.io/leads/api/leads/{uuid}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Contact deleted.

Response
No content

Manage company records in your CRM. Companies can be linked to contacts and enriched with additional data from LinkedIn.

Operations

Organize contacts into lists. Every contact must belong to a list. Use lists to segment your audience for outreach campaigns.

Operations

Label contacts and companies with custom tags for easy filtering and segmentation.

Operations

Define and manage pipeline stages to track where each contact stands in your sales or outreach process.

Operations

Extend contact and company records with custom data fields. Store any additional information relevant to your workflow.

Operations

Add internal notes to contacts or companies for your team's reference.

Operations

Manage outreach automation sequences. Automations define multi-step workflows that send LinkedIn messages, emails, and perform other actions on a schedule.

Operations

Create and manage outreach tasks such as sending LinkedIn messages or emails. Tasks can be created manually or generated by automations.

Operations

Sender profiles represent the LinkedIn and email accounts used to send outreach messages. Each profile links a LinkedIn browser and/or email mailbox.

Operations

Send and retrieve LinkedIn messages through your connected sender profiles.

Operations

Send and retrieve emails through your connected mailboxes.

Operations

Manage email mailboxes (SMTP/IMAP, Gmail, Outlook) used for sending and receiving emails in outreach campaigns.

Operations

Manage AI message templates for generating personalized outreach messages at scale.

Operations