Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/gridline:gridline-individual-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Profile Lookup Individual API
version: '1.0'
description: 'The Profile Lookup APIs streamline user onboarding by pre-populating user information. These APIs take the customer''s phone number and name as input and return comprehensive details about the individual which includes contact information, addresses, identification documents, and demographic data. This eliminates the need for manual entry, saving time and improving data accuracy during user sign-up for Businesses.
> Additon of new fields in all the APIs should be permissible.'
contact:
name: OnGrid
url: ongrid.in
email: contact@ongrid.in
summary: ''
servers:
- url: https://api.gridlines.io
description: Production
security:
- X-API-Key: []
tags:
- name: Individual
paths:
/profile-api/individual/educational-document-ocr:
post:
summary: Educational Document OCR
operationId: post-profile-api-individual-educational-document-ocr
responses:
'200':
description: Data Extracted
content:
application/json:
schema:
type: object
x-examples:
Example 1:
request_id: 8c44a3d1-1f2b-4a46-97a5-7c5f0c2f21ab
transaction_id: 5a2b7e74-08c6-4c8d-9f2e-6d3c1a8b44f9
status: 200
data:
code: '1104'
message: Data extracted.
data:
name_of_institute: Indian Institute of Technology Delhi
name_of_university/board: Indian Institute of Technology Delhi
degree: Bachelor of Technology
level_of_education: Undergraduate
name_as_per_document: Rahul Sharma
issue_date: '2019-07-15'
registration_number: 2015CS10123
field_of_study: Computer Science and Engineering
duration_in_months: '48'
grade: '8.6'
passing_year: '2019'
timestamp: 1744343103514
path: /profile-api/individual/educational-document-ocr
required:
- request_id
- transaction_id
- status
- timestamp
- path
properties:
request_id:
type: string
transaction_id:
type: string
reference_id:
type: string
x-stoplight:
id: qr4m1xf7upwde
status:
type: integer
data:
type: object
properties:
code:
type: string
message:
type: string
data:
type: object
x-stoplight:
id: b8dn0w6ltxj4y
description: Fields that could not be read from the document are omitted from the response.
properties:
name_of_institute:
type: string
name_of_university/board:
type: string
degree:
type: string
level_of_education:
type: string
name_as_per_document:
type: string
issue_date:
type: string
registration_number:
type: string
field_of_study:
type: string
duration_in_months:
type: string
grade:
type: string
passing_year:
type: string
timestamp:
type: integer
path:
type: string
examples:
'1104':
value:
request_id: 8c44a3d1-1f2b-4a46-97a5-7c5f0c2f21ab
transaction_id: 5a2b7e74-08c6-4c8d-9f2e-6d3c1a8b44f9
status: 200
data:
code: '1104'
message: Data extracted.
data:
name_of_institute: Indian Institute of Technology Delhi
name_of_university/board: Indian Institute of Technology Delhi
degree: Bachelor of Technology
level_of_education: Undergraduate
name_as_per_document: Rahul Sharma
issue_date: '2019-07-15'
registration_number: 2015CS10123
field_of_study: Computer Science and Engineering
duration_in_months: '48'
grade: '8.6'
passing_year: '2019'
timestamp: 1744343103514
path: /profile-api/individual/educational-document-ocr
1104 - Partial data:
value:
request_id: 2f7c9b41-6d55-4a2e-8b0f-9a1c73d5e2aa
transaction_id: c1d8f60a-4b73-4f2c-9d51-1e6a8b23c704
reference_id: CANDIDATE-99213
status: 200
data:
code: '1104'
message: Data extracted.
data:
name_of_institute: Government Polytechnic Pune
degree: Diploma in Mechanical Engineering
name_as_per_document: Sneha Patil
passing_year: '2017'
timestamp: 1744343259258
path: /profile-api/individual/educational-document-ocr
'400':
description: Missing Required Information
content:
application/json:
schema:
type: object
x-examples:
Example 1:
request_id: d3ab5949-8836-474f-a518-d4805f1835f8
transaction_id: 0bc3881e-2d49-4202-b781-f0c49a7e5097
status: 400
error:
code: BAD_REQUEST
message: Bad request.
type: https://gridlines.stoplight.io/#:~:text=400-,BAD_REQUEST,-Bad%20request.%20When
metadata:
fields:
- field: front_file_base64
message: 'Unsupported file format. Supported formats are: application/pdf, image/jpeg, image/png, image/tiff.'
timestamp: 1744343365136
path: /profile-api/individual/educational-document-ocr
required:
- request_id
- transaction_id
- status
- timestamp
- path
properties:
request_id:
type: string
transaction_id:
type: string
reference_id:
type: string
x-stoplight:
id: nf2v8kap6rtqz
status:
type: integer
error:
type: object
properties:
code:
type: string
message:
type: string
type:
type: string
metadata:
type: object
properties:
fields:
type: array
items:
type: object
properties:
field:
type: string
message:
type: string
timestamp:
type: integer
path:
type: string
examples:
Unsupported file format:
value:
request_id: d3ab5949-8836-474f-a518-d4805f1835f8
transaction_id: 0bc3881e-2d49-4202-b781-f0c49a7e5097
status: 400
error:
code: BAD_REQUEST
message: Bad request.
type: https://gridlines.stoplight.io/#:~:text=400-,BAD_REQUEST,-Bad%20request.%20When
metadata:
fields:
- field: front_file_base64
message: 'Unsupported file format. Supported formats are: application/pdf, image/jpeg, image/png, image/tiff.'
timestamp: 1744343365136
path: /profile-api/individual/educational-document-ocr
File size exceeded:
value:
request_id: 3ff2a721-825a-4959-9039-0adb9d213823
transaction_id: eee5be2b-e58f-488d-a866-712396710f96
status: 400
error:
code: BAD_REQUEST
message: Bad request.
type: https://gridlines.stoplight.io/#:~:text=400-,BAD_REQUEST,-Bad%20request.%20When
metadata:
fields:
- field: frontFile
message: 'File size is more than the supported limit. Permitted size: 15 MB.'
timestamp: 1744343470631
path: /profile-api/individual/educational-document-ocr
PDF page limit exceeded:
value:
request_id: 9b21c0ce-27f4-4a5e-9c34-6f7a1d0b8e55
transaction_id: 46c3a9fd-8e21-4d67-b0aa-2c5e9f13d740
status: 400
error:
code: BAD_REQUEST
message: Bad request.
type: https://gridlines.stoplight.io/#:~:text=400-,BAD_REQUEST,-Bad%20request.%20When
metadata:
fields:
- field: frontFile
message: The uploaded document exceeds the supported page limit. Please upload a PDF with a maximum of 10 pages.
timestamp: 1744343512004
path: /profile-api/individual/educational-document-ocr
Base64 and file URL both provided:
value:
request_id: 5d19f0b7-4c16-4a83-9a74-0f1b2e7c6d38
transaction_id: 7e4b2a61-9d03-4f58-8c12-3a6d5b90e2c4
status: 400
error:
code: BAD_REQUEST
message: Bad request.
type: https://gridlines.stoplight.io/#:~:text=400-,BAD_REQUEST,-Bad%20request.%20When
metadata:
fields:
- field: front_file_base64
message: Only one of fileBase64 or fileUrl should be provided
- field: front_file_url
message: Only one of fileBase64 or fileUrl should be provided
timestamp: 1744343598211
path: /profile-api/individual/educational-document-ocr
Neither base64 nor file URL provided:
value:
request_id: 1a8d47f2-3b6e-4c05-9f21-8e7c0b5d6a93
transaction_id: 02b9c4e8-5f71-4a36-8d90-4c1e7b62f5a1
status: 400
error:
code: BAD_REQUEST
message: Bad request.
type: https://gridlines.stoplight.io/#:~:text=400-,BAD_REQUEST,-Bad%20request.%20When
metadata:
fields:
- field: front_file_base64
message: Either fileBase64 or fileUrl is required
- field: front_file_url
message: Either fileBase64 or fileUrl is required
timestamp: 1744343644187
path: /profile-api/individual/educational-document-ocr
Invalid base64:
value:
request_id: 6e8c1a04-9d27-4b51-8f36-2a7d0c4e5b19
transaction_id: 14d9f3b8-6c02-4e75-a183-5b8e2d70c946
status: 400
error:
code: BAD_REQUEST
message: Bad request.
type: https://gridlines.stoplight.io/#:~:text=400-,BAD_REQUEST,-Bad%20request.%20When
metadata:
fields:
- field: front_file_base64
message: Invalid base64 string provided
timestamp: 1744343671402
path: /profile-api/individual/educational-document-ocr
Invalid file URL:
value:
request_id: 0b57d2e9-4f81-4c13-9a60-8d3e1f6b7c25
transaction_id: 29a6c4f1-8e30-4d57-b092-7c1f5a83e640
status: 400
error:
code: BAD_REQUEST
message: Bad request.
type: https://gridlines.stoplight.io/#:~:text=400-,BAD_REQUEST,-Bad%20request.%20When
metadata:
fields:
- field: front_file_url
message: Invalid file URL provided
timestamp: 1744343689011
path: /profile-api/individual/educational-document-ocr
Missing multipart file:
value:
request_id: 63f0a8d5-7c92-4b1e-a054-9d2c8e1f3b76
transaction_id: b57e6d13-2f84-41c0-9a3b-7e0d5c4f82a9
status: 400
error:
code: INVALID_MULTIPART_REQUEST
message: Required request part front_file is not present.
type: https://gridlines.stoplight.io/#:~:text=INVALID_MULTIPART_REQUEST
timestamp: 1744343701556
path: /profile-api/individual/educational-document-ocr
Invalid request payload:
value:
request_id: 81c4e6f0-2a39-4d75-9b18-6e0d5f7a3c42
transaction_id: 4f2b8d17-9c60-4a35-8e14-3d7c1b95a208
status: 400
error:
code: INVALID_REQUEST_PAYLOAD
message: Invalid request payload.
type: about:blank
timestamp: 1744343730880
path: /profile-api/individual/educational-document-ocr
Not a valid document:
value:
request_id: 4c7b9e20-8d31-4f6a-b592-0a1c3d7e8f45
transaction_id: 8f2a1c6d-4b70-4e93-85af-6d9b2c0e17d3
status: 400
error:
code: INVALID_DOCUMENT
message: Not a valid document uploaded.
type: about:blank
timestamp: 1744343766902
path: /profile-api/individual/educational-document-ocr
Expected educational document:
value:
request_id: a90d5b14-6e78-4c23-9f01-2b8d7a3c5e60
transaction_id: 3d6f8b25-1a49-4e70-bc85-9f2a4d61c087
status: 400
error:
code: EXPECTED_EDUCATIONAL_DOCUMENT
message: Expected Educational Document.
type: about:blank
timestamp: 1744343812470
path: /profile-api/individual/educational-document-ocr
Consent text invalid:
value:
request_id: c2e70a93-5f18-4b6d-8a24-71c9e0b3d5f8
transaction_id: 6b4c8f27-0d93-4a15-9e68-5f2b7c13a0d4
status: 400
error:
code: CONSENT_TEXT_INVALID
message: Consent text is invalid.
type: about:blank
timestamp: 1744343877315
path: /profile-api/individual/educational-document-ocr
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
front_file:
type: string
format: binary
x-stoplight:
id: t5w8mc1qzhrba
description: The front side of the educational document. Required. The file should not be more than 15 MB, a PDF can have a maximum of 10 pages, and only JPEG, JPG, PNG, PDF and TIFF files are allowed.
back_file:
type: string
format: binary
x-stoplight:
id: k3j7dv9plf20u
description: The reverse side of the educational document, if it carries printed content. Optional. Same size, page and format limits as the front file.
consent:
type: string
x-stoplight:
id: y6r2n8bqe4hsw
enum:
- Y
- N
description: The consent of the client should also be provided as a string, "Y" for an YES and "N" for NO.
consent_text:
type: string
enum:
- We confirm that explicit consent has been obtained to access and process the data, and that such consent is informed, valid, and has not been withdrawn.
x-stoplight:
id: p9x3l0vtgc7fd
description: 'Required when consent is "Y". It must exactly match: "We confirm that explicit consent has been obtained to access and process the data, and that such consent is informed, valid, and has not been withdrawn."'
required:
- front_file
- consent
- consent_text
application/json:
schema:
type: object
x-examples:
Example 1:
front_file_url: https://ocrtesting.s3.ap-south-1.amazonaws.com/degree-certificate.pdf
consent: Y
consent_text: We confirm that explicit consent has been obtained to access and process the data, and that such consent is informed, valid, and has not been withdrawn.
properties:
front_file_base64:
type: string
x-stoplight:
id: d1s6h4wqmv8kx
description: Base64 encoded content of the front side of the educational document. Either front_file_base64 or front_file_url is required, but not both.
back_file_base64:
type: string
x-stoplight:
id: m4q9e3bkyor1t
description: Base64 encoded content of the reverse side of the educational document. Optional. Cannot be sent along with back_file_url.
front_file_url:
type: string
x-stoplight:
id: g8z5a2tcunp7j
description: Publicly reachable http/https URL of the front side of the educational document. Either front_file_base64 or front_file_url is required, but not both.
back_file_url:
type: string
x-stoplight:
id: v7u0c5nsxaf6l
description: Publicly reachable http/https URL of the reverse side of the educational document. Optional. Cannot be sent along with back_file_base64.
consent:
type: string
enum:
- Y
- N
description: The consent of the client should also be provided as a string, "Y" for an YES and "N" for NO.
consent_text:
type: string
enum:
- We confirm that explicit consent has been obtained to access and process the data, and that such consent is informed, valid, and has not been withdrawn.
x-stoplight:
id: w2f8r6jhdq3ye
description: 'Required when consent is "Y". It must exactly match: "We confirm that explicit consent has been obtained to access and process the data, and that such consent is informed, valid, and has not been withdrawn."'
required:
- consent
- consent_text
description: Please utilize the multipart/form-data request body format when transmitting the multipart file.
description: 'This API takes an educational document such as a degree certificate, provisional certificate, diploma or marksheet as input and returns the academic details printed on it, such as the institute, university or board, degree, field of study, grade and passing year. Fields that are not present on the document, or that could not be read reliably, are omitted from the response.
We offer three distinct operational approaches:
1) Use a file directly along with consent.
2) Use a base64 code along with consent.
3) Use a file URL along with consent.
The choice must be between a file, base64 code or a file URL. For a single side of the document, only one of the three can be used at a time. The reverse side is optional and follows the same rule.
File constraints:
| Constraint | Value
| ---------- | -----
| Maximum file size | 15 MB
| Supported formats | .jpeg, .jpg, .png, .pdf, .tiff
| Maximum PDF pages | 10
| Maximum files per request | 2 (front and back)
Response Codes:
| Sl | Status | Code | Description
| ---- | -------|-------------------------------| -------------
| 1 | 200 | 1104 | Data extracted.
| 2 | 400 | BAD_REQUEST | Unsupported file format. Supported formats are: application/pdf, image/jpeg, image/png, image/tiff.
| 3 | 400 | BAD_REQUEST | File size is more than the supported limit. Permitted size: 15 MB.
| 4 | 400 | BAD_REQUEST | The uploaded document exceeds the supported page limit. Please upload a PDF with a maximum of 10 pages.
| 5 | 400 | BAD_REQUEST | Either fileBase64 or fileUrl is required.
| 6 | 400 | BAD_REQUEST | Only one of fileBase64 or fileUrl should be provided.
| 7 | 400 | BAD_REQUEST | Invalid base64 string provided.
| 8 | 400 | BAD_REQUEST | Invalid file URL provided.
| 9 | 400 | INVALID_MULTIPART_REQUEST | Required request part front_file is not present.
| 10 | 400 | INVALID_REQUEST_PAYLOAD | Invalid request payload.
| 11 | 400 | INVALID_DOCUMENT | Not a valid document uploaded.
| 12 | 400 | EXPECTED_EDUCATIONAL_DOCUMENT | Expected Educational Document.
| 13 | 400 | CONSENT_TEXT_INVALID | Consent text is invalid.'
x-stoplight:
id: 4nq81zvtcyme6
security:
- X-API-Key: []
parameters:
- schema:
type: string
in: header
name: X-Auth-Type
description: API-Key
required: true
- schema:
type: string
in: header
name: X-Reference-ID
description: Reference ID
x-internal: false
tags:
- Individual
components:
securitySchemes:
X-API-Key:
name: X-API-Key
type: apiKey
in: header
x-stoplight:
id: hzaubx7z63j0k
x-internal: false