Manage your CRM contacts (leads). Search, create, update, and organize contacts across lists and pipeline stages.
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.
All requests require a Bearer token in the Authorization header.
- Log in at leadgen.grinfi.io
- Go to Settings → API Keys
- Copy your key and pass it as:
Authorization: Bearer YOUR_API_KEY
List endpoints support limit (default 20) and offset (default 0) query parameters. Responses include total count and has_more boolean.
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: =, !=, <, <=, >, >=, <>
Request
Create a manual outreach task. Common types: linkedin_send_message, linkedin_send_connection_request, linkedin_send_inmail, linkedin_like_latest_post, linkedin_endorse_skills.
- Productionhttps://leadgen.grinfi.io/flows/api/tasks
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://leadgen.grinfi.io/flows/api/tasks \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"lead_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"sender_profile_uuid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"type": "linkedin_send_message",
"text": "Hi John, I'\''d love to connect!",
"schedule_at": "2026-03-01T10:00:00.000000Z"
}'{ "uuid": "string", "team_id": 0, "user_id": 0, "lead_uuid": "string", "sender_profile_uuid": "string", "flow_uuid": "string", "type": "linkedin_send_message", "text": "string", "note": "string", "status": "in_progress", "automation": "manual", "schedule_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }
- Productionhttps://leadgen.grinfi.io/flows/api/tasks/{uuid}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://leadgen.grinfi.io/flows/api/tasks/{uuid}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "uuid": "string", "team_id": 0, "user_id": 0, "lead_uuid": "string", "sender_profile_uuid": "string", "flow_uuid": "string", "type": "linkedin_send_message", "text": "string", "note": "string", "status": "in_progress", "automation": "manual", "schedule_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }
- Productionhttps://leadgen.grinfi.io/flows/api/tasks/{uuid}/complete
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://leadgen.grinfi.io/flows/api/tasks/{uuid}/complete' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'