curl -X GET "https://api.finscreener.in/api/crm/orders/order_123/leads" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
curl -X GET "https://api.finscreener.in/api/crm/orders/order_123/leads?format=nested" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
import csv
import requests
response = requests.get(
"https://api.finscreener.in/api/crm/orders/order_123/leads",
headers={"Authorization": f"Bearer {token}"}
)
leads = response.json()["leads"]
# Rows are already flat — write them straight to CSV.
with open("leads.csv", "w", newline="") as f:
writer = csv.DictWriter(f, fieldnames=leads[0].keys())
writer.writeheader()
writer.writerows(leads)
{
"order_id": "order_123",
"order_name": "Karnataka GST July",
"payment_status": "paid",
"status": "completed",
"leads": [
{
"type": "gst",
"identifier": "29ABCDE1234F1ZA",
"name": "NBS SOLUTIONS",
"GSTIN": "29ABCDE1234F1ZA",
"LegalName": "NEW BUSINESS SERVICES",
"TradeName": "NBS SOLUTIONS",
"ConstitutionBusiness": "Private Limited Company",
"Status": "Active",
"TaxpayerType": "Regular",
"DateOfRegistration": "2026-07-15",
"CoreBusiness": "Service Provision",
"PAN": "ABCDE1234F",
"Email": "contact@nbssolutions.in",
"Mobile": "9876543210",
"AddressLine1": "4th Floor, Tower B",
"AddressLine2": "Residency Road",
"Place": "Bengaluru",
"City": "Bengaluru Urban",
"State": "Karnataka",
"StateCode": "29",
"Pincode": "560001",
"FullAddress": "4th Floor, Tower B, Residency Road, Bengaluru, Karnataka, 560001",
"GrossTotalIncome": "1.2 Cr",
"GrossTotalIncomeFY": "2024-25",
"AnnualTurnover": "2.5 Cr",
"AnnualTurnoverFY": "2024-25",
"Directors": "ANANYA SHARMA; RAHUL VERMA",
"HSNCodes": "8471; 8473",
"HSNDescriptions": "Automatic data processing machines | Parts and accessories",
"SACCodes": "998313",
"SACDescriptions": "Information technology consulting services"
}
],
"total": 1
}
{
"order_id": "order_123",
"order_name": "Karnataka GST July",
"payment_status": "paid",
"status": "completed",
"leads": [
{
"type": "gst",
"identifier": "29ABCDE1234F1ZA",
"name": "NBS SOLUTIONS",
"lead": {
"Last_Name": "NBS SOLUTIONS",
"Company": "NEW BUSINESS SERVICES",
"Email": "contact@nbssolutions.in",
"Phone": "9876543210",
"City": "Bengaluru Urban",
"State": "Karnataka",
"Lead_Source": "Finscreener"
},
"full_data": { ... }
}
],
"total": 1
}
CRM Integration
Get Order Leads
Get CRM-ready leads from an order
GET
/
api
/
crm
/
orders
/
{order_id}
/
leads
curl -X GET "https://api.finscreener.in/api/crm/orders/order_123/leads" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
curl -X GET "https://api.finscreener.in/api/crm/orders/order_123/leads?format=nested" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
import csv
import requests
response = requests.get(
"https://api.finscreener.in/api/crm/orders/order_123/leads",
headers={"Authorization": f"Bearer {token}"}
)
leads = response.json()["leads"]
# Rows are already flat — write them straight to CSV.
with open("leads.csv", "w", newline="") as f:
writer = csv.DictWriter(f, fieldnames=leads[0].keys())
writer.writeheader()
writer.writerows(leads)
{
"order_id": "order_123",
"order_name": "Karnataka GST July",
"payment_status": "paid",
"status": "completed",
"leads": [
{
"type": "gst",
"identifier": "29ABCDE1234F1ZA",
"name": "NBS SOLUTIONS",
"GSTIN": "29ABCDE1234F1ZA",
"LegalName": "NEW BUSINESS SERVICES",
"TradeName": "NBS SOLUTIONS",
"ConstitutionBusiness": "Private Limited Company",
"Status": "Active",
"TaxpayerType": "Regular",
"DateOfRegistration": "2026-07-15",
"CoreBusiness": "Service Provision",
"PAN": "ABCDE1234F",
"Email": "contact@nbssolutions.in",
"Mobile": "9876543210",
"AddressLine1": "4th Floor, Tower B",
"AddressLine2": "Residency Road",
"Place": "Bengaluru",
"City": "Bengaluru Urban",
"State": "Karnataka",
"StateCode": "29",
"Pincode": "560001",
"FullAddress": "4th Floor, Tower B, Residency Road, Bengaluru, Karnataka, 560001",
"GrossTotalIncome": "1.2 Cr",
"GrossTotalIncomeFY": "2024-25",
"AnnualTurnover": "2.5 Cr",
"AnnualTurnoverFY": "2024-25",
"Directors": "ANANYA SHARMA; RAHUL VERMA",
"HSNCodes": "8471; 8473",
"HSNDescriptions": "Automatic data processing machines | Parts and accessories",
"SACCodes": "998313",
"SACDescriptions": "Information technology consulting services"
}
],
"total": 1
}
{
"order_id": "order_123",
"order_name": "Karnataka GST July",
"payment_status": "paid",
"status": "completed",
"leads": [
{
"type": "gst",
"identifier": "29ABCDE1234F1ZA",
"name": "NBS SOLUTIONS",
"lead": {
"Last_Name": "NBS SOLUTIONS",
"Company": "NEW BUSINESS SERVICES",
"Email": "contact@nbssolutions.in",
"Phone": "9876543210",
"City": "Bengaluru Urban",
"State": "Karnataka",
"Lead_Source": "Finscreener"
},
"full_data": { ... }
}
],
"total": 1
}
Retrieve the items of a paid order as CRM-ready leads.
By default each lead is a single flat row of scalars — no nested objects, no arrays —
so it maps directly onto CSV columns or CRM fields. Lists are collapsed into one cell,
joined with
The address is taken from the registered address, falling back to the first address on
record.
A full company row carries every company column above, plus:
; (descriptions use | because they may themselves contain commas).
The order must be paid. Because it is paid, contact details (email, mobile, address) are
included in the rows.
The column set differs per item type. A
gst row carries GST columns, a company
row company columns, a director row director columns. Every row starts with the same
three identifying columns: type, identifier, name.Path Parameters
string
required
Order ID
Headers
string
required
Bearer token:
Bearer <access_token>Query Parameters
string
default:"flat"
flat returns one flat row of scalars per lead, ready for a CRM import or a
spreadsheet. nested returns the previous {lead, full_data} shape.Response
string
Order ID
string
Order name
string
Payment status of the order
string
Order status
number
Number of leads returned
array
One row per order item. See the column sets below.
Columns
Every row begins with these three columns regardless of type:| Column | Description |
|---|---|
type | gst, company, director, or fullcompany |
identifier | GSTIN, CIN, or DIN |
name | Entity name as recorded on the order |
GST rows
31 columns in total (the three above plus the 28 below).| Column | Description |
|---|---|
GSTIN | GST identification number |
LegalName | Legal name |
TradeName | Trade name |
ConstitutionBusiness | Constitution of business |
Status | Registration status |
TaxpayerType | Taxpayer type |
DateOfRegistration | Registration date (YYYY-MM-DD) |
CoreBusiness | Core business activity |
PAN | PAN |
Email | Contact email |
Mobile | Contact mobile |
AddressLine1 | Address line 1 |
AddressLine2 | Address line 2 |
Place | Place |
City | District, falling back to place |
State | State name, falling back to the state code |
StateCode | State code |
Pincode | Pincode |
FullAddress | Full address string |
GrossTotalIncome | Gross total income |
GrossTotalIncomeFY | Financial year for gross total income |
AnnualTurnover | Annual aggregate turnover |
AnnualTurnoverFY | Financial year for turnover |
Directors | Directors, joined with ; |
HSNCodes | Goods HSN codes, joined with ; |
HSNDescriptions | Goods descriptions, joined with | |
SACCodes | Services SAC codes, joined with ; |
SACDescriptions | Service descriptions, joined with | |
Company rows
36 columns in total (the three identifying columns plus the 33 below).| Column | Description |
|---|---|
CIN | Corporate identity number |
CompanyName | Company name |
RegistrationNumber | Registration number |
DateOfIncorporation | Incorporation date (YYYY-MM-DD) |
CompanyType | Company type |
CompanyCategory | Company category |
CompanySubcategory | Company subcategory |
ClassOfCompany | Class of company |
CompanyOrigin | Company origin |
Listed | Listed status |
LLPStatus | LLP status |
StatusUnderCIRP | Status under CIRP |
AuthorisedCapital | Authorised capital |
PaidUpCapital | Paid-up capital |
SubscribedCapital | Subscribed capital |
PAN | PAN |
Email | Contact email |
Mobile | Contact mobile |
AddressLine1 | Address line 1 |
AddressLine2 | Address line 2 |
City | City |
District | District |
State | State |
Pincode | Pincode |
Country | Country (defaults to India) |
MainDivision | Main division code |
MainDivisionDescription | Main division description |
NICCodes | NIC codes, joined with ; |
NICDescriptions | NIC descriptions, joined with | |
ROCName | ROC name |
ROCCode | ROC code |
RDName | Regional Director name |
RDRegion | Regional Director region |
Director rows
23 columns in total (the three identifying columns plus the 20 below).| Column | Description |
|---|---|
DIN | Director identification number |
FullName | First, middle and last name joined with spaces |
FirstName | First name |
MiddleName | Middle name |
LastName | Last name |
PAN | PAN |
Email | Contact email |
Mobile | Contact mobile |
StreetAddress | Street address |
StreetAddress2 | Street address line 2 |
District | District |
City | City, falling back to district |
State | State |
Pincode | Postal code |
Country | Country (defaults to India) |
Disqualified | Whether the director is disqualified |
CompanyCount | Number of associated companies |
Companies | Company names, joined with ; |
CompanyCINs | Company CINs, joined with ; |
Designations | Designations, joined with ; |
Full company rows
fullcompany is no longer available as a new order item type. These rows appear only on
existing orders that already contain such items, and they are always returned flat.| Column | Description |
|---|---|
DirectorCount | Number of directors |
DirectorNames | Director names, joined with ; |
DirectorDINs | Director DINs, joined with ; |
GSTINs | Associated GSTINs, joined with ; |
GSTEmail | Email from the primary GST registration |
GSTMobile | Mobile from the primary GST registration |
Failed rows
If an individual item cannot be enriched, the rest of the order is still returned and that item appears as{type, identifier, name, error}.
curl -X GET "https://api.finscreener.in/api/crm/orders/order_123/leads" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
curl -X GET "https://api.finscreener.in/api/crm/orders/order_123/leads?format=nested" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
import csv
import requests
response = requests.get(
"https://api.finscreener.in/api/crm/orders/order_123/leads",
headers={"Authorization": f"Bearer {token}"}
)
leads = response.json()["leads"]
# Rows are already flat — write them straight to CSV.
with open("leads.csv", "w", newline="") as f:
writer = csv.DictWriter(f, fieldnames=leads[0].keys())
writer.writeheader()
writer.writerows(leads)
{
"order_id": "order_123",
"order_name": "Karnataka GST July",
"payment_status": "paid",
"status": "completed",
"leads": [
{
"type": "gst",
"identifier": "29ABCDE1234F1ZA",
"name": "NBS SOLUTIONS",
"GSTIN": "29ABCDE1234F1ZA",
"LegalName": "NEW BUSINESS SERVICES",
"TradeName": "NBS SOLUTIONS",
"ConstitutionBusiness": "Private Limited Company",
"Status": "Active",
"TaxpayerType": "Regular",
"DateOfRegistration": "2026-07-15",
"CoreBusiness": "Service Provision",
"PAN": "ABCDE1234F",
"Email": "contact@nbssolutions.in",
"Mobile": "9876543210",
"AddressLine1": "4th Floor, Tower B",
"AddressLine2": "Residency Road",
"Place": "Bengaluru",
"City": "Bengaluru Urban",
"State": "Karnataka",
"StateCode": "29",
"Pincode": "560001",
"FullAddress": "4th Floor, Tower B, Residency Road, Bengaluru, Karnataka, 560001",
"GrossTotalIncome": "1.2 Cr",
"GrossTotalIncomeFY": "2024-25",
"AnnualTurnover": "2.5 Cr",
"AnnualTurnoverFY": "2024-25",
"Directors": "ANANYA SHARMA; RAHUL VERMA",
"HSNCodes": "8471; 8473",
"HSNDescriptions": "Automatic data processing machines | Parts and accessories",
"SACCodes": "998313",
"SACDescriptions": "Information technology consulting services"
}
],
"total": 1
}
{
"order_id": "order_123",
"order_name": "Karnataka GST July",
"payment_status": "paid",
"status": "completed",
"leads": [
{
"type": "gst",
"identifier": "29ABCDE1234F1ZA",
"name": "NBS SOLUTIONS",
"lead": {
"Last_Name": "NBS SOLUTIONS",
"Company": "NEW BUSINESS SERVICES",
"Email": "contact@nbssolutions.in",
"Phone": "9876543210",
"City": "Bengaluru Urban",
"State": "Karnataka",
"Lead_Source": "Finscreener"
},
"full_data": { ... }
}
],
"total": 1
}