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

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

Operations

Request

Create one or more company records. Optionally assign them to lists and a data source.

Security
bearerAuth
Bodyapplication/jsonrequired
companiesArray of objectsrequired

Array of company objects to create.

companies[].​namestring
Example: "Acme Inc"
companies[].​domainstring
Example: "acme.com"
companies[].​websitestring
Example: "https://acme.com"
companies[].​linkedinstring
Example: "acme-inc"
companies[].​industrystring
Example: "Technology"
companies[].​employees_rangestring
Example: "51-200"
companies[].​hq_raw_addressstring
Example: "San Francisco, CA"
list_uuidsArray of strings

List UUIDs to assign companies to.

data_source_uuidstring
curl -i -X POST \
  https://leadgen.grinfi.io/leads/api/companies \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "companies": [
      {
        "name": "Acme Inc",
        "domain": "acme.com",
        "industry": "Technology"
      }
    ],
    "list_uuids": [
      "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
    ]
  }'

Responses

Created companies.

Bodyapplication/jsonArray [
uuidstring
Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
team_idinteger
user_idinteger or null
data_source_uuidstring or null
lead_status_uuidstring or null

Pipeline stage UUID.

namestring
Example: "Acme Inc"
domainstring or null
Example: "acme.com"
websitestring or null
Example: "https://acme.com"
ln_idinteger or null

LinkedIn company numeric ID.

linkedinstring or null
Example: "acme-inc"
facebookstring or null
twitterstring or null
phonestring or null
hq_raw_addressstring or null
Example: "San Francisco, CA, USA"
hq_locationArray of objects or null
logo_urlstring or null
industrystring or null
Example: "Technology"
employees_rangestring or null
Example: "51-200"
year_establishedinteger or null
Example: 2015
aboutstring or null
listsArray of strings or null

List UUIDs.

tagsArray of strings or null

Tag UUIDs.

statusstring
last_enrich_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, "data_source_uuid": "string", "lead_status_uuid": "string", "name": "Acme Inc", "domain": "acme.com", "website": "https://acme.com", "ln_id": 0, "linkedin": "acme-inc", "facebook": "string", "twitter": "string", "phone": "string", "hq_raw_address": "San Francisco, CA, USA", "hq_location": [ … ], "logo_url": "string", "industry": "Technology", "employees_range": "51-200", "year_established": 2015, "about": "string", "lists": [ … ], "tags": [ … ], "status": "string", "last_enrich_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } ]

Request

Retrieve full details of a company by UUID.

Security
bearerAuth
Path
uuidstringrequired

Resource UUID.

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

Responses

Company details.

Bodyapplication/json
uuidstring
Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
team_idinteger
user_idinteger or null
data_source_uuidstring or null
lead_status_uuidstring or null

Pipeline stage UUID.

namestring
Example: "Acme Inc"
domainstring or null
Example: "acme.com"
websitestring or null
Example: "https://acme.com"
ln_idinteger or null

LinkedIn company numeric ID.

linkedinstring or null
Example: "acme-inc"
facebookstring or null
twitterstring or null
phonestring or null
hq_raw_addressstring or null
Example: "San Francisco, CA, USA"
hq_locationArray of objects or null
logo_urlstring or null
industrystring or null
Example: "Technology"
employees_rangestring or null
Example: "51-200"
year_establishedinteger or null
Example: 2015
aboutstring or null
listsArray of strings or null

List UUIDs.

tagsArray of strings or null

Tag UUIDs.

statusstring
last_enrich_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, "data_source_uuid": "string", "lead_status_uuid": "string", "name": "Acme Inc", "domain": "acme.com", "website": "https://acme.com", "ln_id": 0, "linkedin": "acme-inc", "facebook": "string", "twitter": "string", "phone": "string", "hq_raw_address": "San Francisco, CA, USA", "hq_location": [ {} ], "logo_url": "string", "industry": "Technology", "employees_range": "51-200", "year_established": 2015, "about": "string", "lists": [ "string" ], "tags": [ "string" ], "status": "string", "last_enrich_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 company.

Security
bearerAuth
Path
uuidstringrequired

Resource UUID.

Bodyapplication/jsonrequired
namestring
Example: "Acme Inc"
domainstring
Example: "acme.com"
websitestring
Example: "https://acme.com"
linkedinstring
Example: "acme-inc"
ln_idinteger

LinkedIn company numeric ID.

industrystring
Example: "Technology"
employees_rangestring
Example: "51-200"
hq_raw_addressstring
Example: "San Francisco, CA"
phonestring
aboutstring
lead_status_uuidstring

Pipeline stage UUID.

curl -i -X PUT \
  'https://leadgen.grinfi.io/leads/api/companies/{uuid}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Acme Inc",
    "domain": "acme.com",
    "website": "https://acme.com",
    "linkedin": "acme-inc",
    "ln_id": 0,
    "industry": "Technology",
    "employees_range": "51-200",
    "hq_raw_address": "San Francisco, CA",
    "phone": "string",
    "about": "string",
    "lead_status_uuid": "string"
  }'

Responses

Updated company.

Bodyapplication/json
uuidstring
Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
team_idinteger
user_idinteger or null
data_source_uuidstring or null
lead_status_uuidstring or null

Pipeline stage UUID.

namestring
Example: "Acme Inc"
domainstring or null
Example: "acme.com"
websitestring or null
Example: "https://acme.com"
ln_idinteger or null

LinkedIn company numeric ID.

linkedinstring or null
Example: "acme-inc"
facebookstring or null
twitterstring or null
phonestring or null
hq_raw_addressstring or null
Example: "San Francisco, CA, USA"
hq_locationArray of objects or null
logo_urlstring or null
industrystring or null
Example: "Technology"
employees_rangestring or null
Example: "51-200"
year_establishedinteger or null
Example: 2015
aboutstring or null
listsArray of strings or null

List UUIDs.

tagsArray of strings or null

Tag UUIDs.

statusstring
last_enrich_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, "data_source_uuid": "string", "lead_status_uuid": "string", "name": "Acme Inc", "domain": "acme.com", "website": "https://acme.com", "ln_id": 0, "linkedin": "acme-inc", "facebook": "string", "twitter": "string", "phone": "string", "hq_raw_address": "San Francisco, CA, USA", "hq_location": [ {} ], "logo_url": "string", "industry": "Technology", "employees_range": "51-200", "year_established": 2015, "about": "string", "lists": [ "string" ], "tags": [ "string" ], "status": "string", "last_enrich_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }

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