Check a PDF for ATS readability
Multipart PDF upload, up to 25 MB. Processes at most 30 pages, reports truncation and skipped checks, and stores nothing. Rate limited per client address. No authentication required.
1 min read
post/pdf-checks
Request example
curl --request POST "https://rxresu.me/api/openapi/pdf-checks" --form "file=@<file>"Response
{
"version": 1,
"score": 1,
"cappedBy": [
"NO_TEXT_LAYER"
],
"categories": [
{
"category": "parseability",
"score": 1,
"weight": 1,
"applicableChecks": 1,
"passedChecks": 1,
"skippedChecks": 1
}
],
"checks": [
{
"code": "NO_TEXT_LAYER",
"category": "parseability",
"severity": "blocker",
"status": "pass",
"skipReason": "no-text",
"findings": [
{
"code": "NO_TEXT_LAYER",
"severity": "blocker",
"category": "parseability",
"params": {},
"evidence": {
"snippet": "<string>",
"page": 1,
"box": {
"x": 1,
"y": 1,
"width": 1,
"height": 1
}
}
}
]
}
],
"findings": [
{
"code": "NO_TEXT_LAYER",
"severity": "blocker",
"category": "parseability",
"params": {},
"evidence": {
"snippet": "<string>",
"page": 1,
"box": {
"x": 1,
"y": 1,
"width": 1,
"height": 1
}
}
}
],
"tips": [
{
"code": "NO_TEXT_LAYER",
"severity": "blocker",
"category": "parseability",
"params": {},
"evidence": {
"snippet": "<string>",
"page": 1,
"box": {
"x": 1,
"y": 1,
"width": 1,
"height": 1
}
}
}
],
"counts": {
"blocker": 1,
"warning": 1,
"tip": 1
},
"applicableChecks": 1,
"passedChecks": 1,
"skippedChecks": 1,
"jd": {
"terms": [
{
"term": "<string>",
"jdCount": 1,
"resumeCount": 1,
"weight": 1
}
],
"matchedTerms": [
"<string>"
],
"missingTerms": [
"<string>"
],
"totalTerms": 1,
"matchedCount": 1,
"weightedCoverage": 1,
"stuffedTerms": [
"<string>"
],
"documentHasHiddenText": true
},
"file": {
"name": "<string>",
"sizeBytes": 1,
"magicBytesOk": true
},
"document": {
"pageCount": 1,
"truncated": true,
"wordCount": 1,
"operatorsAvailable": true
},
"fullText": "<string>"
}{
"defined": true,
"code": "<string>",
"status": 1,
"message": "<string>",
"data": null
}post/pdf-checks
Body
multipart/form-dataResponses
application/json
OK
Options:
1Show child attributesHide child attributes
Options:
NO_TEXT_LAYERIMAGE_ONLY_DOCUMENTGARBLED_TEXTTYPE3_FONTINVALID_EMBEDDED_FONTFILE_TOO_LARGEENCRYPTED_PDFXFA_FORMPDF_PORTFOLIOREPLACEMENT_CHARACTERSPRIVATE_USE_CHARACTERSLIGATURE_CHARACTERSNON_EMBEDDED_FONTSINVISIBLE_TEXTWHITE_TEXTLOW_TEXT_DENSITYHIGH_IMAGE_COVERAGELOST_WORD_SPACINGSPLIT_CHARACTER_SPACINGVERTICAL_TEXTROTATED_PAGESACROFORM_FIELDSNON_STANDARD_PAGE_SIZEUNTAGGED_PDFMISSING_DOCUMENT_LANGUAGELARGE_FILE_SIZETRUNCATED_ANALYSISMULTI_COLUMN_LAYOUTREADING_ORDER_INVERSIONREADING_ORDER_RISKCOLUMN_GUTTERTABLE_LIKE_LAYOUTTEXT_IN_MARGIN_ZONETIGHT_LINE_SPACINGSMALL_BODY_TEXTMANY_DISTINCT_FONTSNARROW_PAGE_MARGINSTEXT_OUTSIDE_PAGENON_STANDARD_BULLET_GLYPHSREPEATED_HEADER_FOOTERDENSE_PAGENO_EXPERIENCE_SECTIONNO_RECOGNIZED_HEADINGSFEW_SECTION_HEADINGSNO_EDUCATION_SECTIONNO_SKILLS_SECTIONHEADINGS_NOT_DISTINGUISHEDVERY_SHORT_DOCUMENTNO_BULLET_POINTSNO_ROLE_LINESNO_SUMMARY_SECTIONNO_EMAILNO_PHONENO_NAME_LINECONTACT_NOT_ON_FIRST_PAGEEMAIL_SPLIT_ACROSS_ITEMSLINK_TEXT_URL_MISMATCHMULTIPLE_EMAILSNO_PROFESSIONAL_LINKBARE_URL_WITHOUT_PROTOCOLPHONE_FORMAT_UNUSUALNO_DATES_FOUNDFEW_DATESUNPARSEABLE_DATE_RANGEREVERSED_DATE_RANGEFUTURE_DATED_ENTRYMIXED_DATE_FORMATSNO_CURRENT_ROLE_MARKERAMBIGUOUS_NUMERIC_DATENO_QUANTIFIED_IMPACTWEAK_ACTION_VERBSFIRST_PERSON_PRONOUNSLONG_BULLETSHIGH_PAGE_COUNTEMPLOYMENT_GAPALL_CAPS_RUNSREPEATED_PHRASESOptions:
parseabilitylayoutsectionscontactdatescontentOptions:
blockerwarningtipOptions:
passskipfailOptions:
no-textno-operatorsnot-englishnot-applicableencryptedinsufficient-dataShow child attributesHide child attributes
Options:
NO_TEXT_LAYERIMAGE_ONLY_DOCUMENTGARBLED_TEXTTYPE3_FONTINVALID_EMBEDDED_FONTFILE_TOO_LARGEENCRYPTED_PDFXFA_FORMPDF_PORTFOLIOREPLACEMENT_CHARACTERSPRIVATE_USE_CHARACTERSLIGATURE_CHARACTERSNON_EMBEDDED_FONTSINVISIBLE_TEXTWHITE_TEXTLOW_TEXT_DENSITYHIGH_IMAGE_COVERAGELOST_WORD_SPACINGSPLIT_CHARACTER_SPACINGVERTICAL_TEXTROTATED_PAGESACROFORM_FIELDSNON_STANDARD_PAGE_SIZEUNTAGGED_PDFMISSING_DOCUMENT_LANGUAGELARGE_FILE_SIZETRUNCATED_ANALYSISMULTI_COLUMN_LAYOUTREADING_ORDER_INVERSIONREADING_ORDER_RISKCOLUMN_GUTTERTABLE_LIKE_LAYOUTTEXT_IN_MARGIN_ZONETIGHT_LINE_SPACINGSMALL_BODY_TEXTMANY_DISTINCT_FONTSNARROW_PAGE_MARGINSTEXT_OUTSIDE_PAGENON_STANDARD_BULLET_GLYPHSREPEATED_HEADER_FOOTERDENSE_PAGENO_EXPERIENCE_SECTIONNO_RECOGNIZED_HEADINGSFEW_SECTION_HEADINGSNO_EDUCATION_SECTIONNO_SKILLS_SECTIONHEADINGS_NOT_DISTINGUISHEDVERY_SHORT_DOCUMENTNO_BULLET_POINTSNO_ROLE_LINESNO_SUMMARY_SECTIONNO_EMAILNO_PHONENO_NAME_LINECONTACT_NOT_ON_FIRST_PAGEEMAIL_SPLIT_ACROSS_ITEMSLINK_TEXT_URL_MISMATCHMULTIPLE_EMAILSNO_PROFESSIONAL_LINKBARE_URL_WITHOUT_PROTOCOLPHONE_FORMAT_UNUSUALNO_DATES_FOUNDFEW_DATESUNPARSEABLE_DATE_RANGEREVERSED_DATE_RANGEFUTURE_DATED_ENTRYMIXED_DATE_FORMATSNO_CURRENT_ROLE_MARKERAMBIGUOUS_NUMERIC_DATENO_QUANTIFIED_IMPACTWEAK_ACTION_VERBSFIRST_PERSON_PRONOUNSLONG_BULLETSHIGH_PAGE_COUNTEMPLOYMENT_GAPALL_CAPS_RUNSREPEATED_PHRASESOptions:
blockerwarningtipOptions:
parseabilitylayoutsectionscontactdatescontentShow child attributesHide child attributes
Options:
NO_TEXT_LAYERIMAGE_ONLY_DOCUMENTGARBLED_TEXTTYPE3_FONTINVALID_EMBEDDED_FONTFILE_TOO_LARGEENCRYPTED_PDFXFA_FORMPDF_PORTFOLIOREPLACEMENT_CHARACTERSPRIVATE_USE_CHARACTERSLIGATURE_CHARACTERSNON_EMBEDDED_FONTSINVISIBLE_TEXTWHITE_TEXTLOW_TEXT_DENSITYHIGH_IMAGE_COVERAGELOST_WORD_SPACINGSPLIT_CHARACTER_SPACINGVERTICAL_TEXTROTATED_PAGESACROFORM_FIELDSNON_STANDARD_PAGE_SIZEUNTAGGED_PDFMISSING_DOCUMENT_LANGUAGELARGE_FILE_SIZETRUNCATED_ANALYSISMULTI_COLUMN_LAYOUTREADING_ORDER_INVERSIONREADING_ORDER_RISKCOLUMN_GUTTERTABLE_LIKE_LAYOUTTEXT_IN_MARGIN_ZONETIGHT_LINE_SPACINGSMALL_BODY_TEXTMANY_DISTINCT_FONTSNARROW_PAGE_MARGINSTEXT_OUTSIDE_PAGENON_STANDARD_BULLET_GLYPHSREPEATED_HEADER_FOOTERDENSE_PAGENO_EXPERIENCE_SECTIONNO_RECOGNIZED_HEADINGSFEW_SECTION_HEADINGSNO_EDUCATION_SECTIONNO_SKILLS_SECTIONHEADINGS_NOT_DISTINGUISHEDVERY_SHORT_DOCUMENTNO_BULLET_POINTSNO_ROLE_LINESNO_SUMMARY_SECTIONNO_EMAILNO_PHONENO_NAME_LINECONTACT_NOT_ON_FIRST_PAGEEMAIL_SPLIT_ACROSS_ITEMSLINK_TEXT_URL_MISMATCHMULTIPLE_EMAILSNO_PROFESSIONAL_LINKBARE_URL_WITHOUT_PROTOCOLPHONE_FORMAT_UNUSUALNO_DATES_FOUNDFEW_DATESUNPARSEABLE_DATE_RANGEREVERSED_DATE_RANGEFUTURE_DATED_ENTRYMIXED_DATE_FORMATSNO_CURRENT_ROLE_MARKERAMBIGUOUS_NUMERIC_DATENO_QUANTIFIED_IMPACTWEAK_ACTION_VERBSFIRST_PERSON_PRONOUNSLONG_BULLETSHIGH_PAGE_COUNTEMPLOYMENT_GAPALL_CAPS_RUNSREPEATED_PHRASESOptions:
blockerwarningtipOptions:
parseabilitylayoutsectionscontactdatescontentShow child attributesHide child attributes
Options:
NO_TEXT_LAYERIMAGE_ONLY_DOCUMENTGARBLED_TEXTTYPE3_FONTINVALID_EMBEDDED_FONTFILE_TOO_LARGEENCRYPTED_PDFXFA_FORMPDF_PORTFOLIOREPLACEMENT_CHARACTERSPRIVATE_USE_CHARACTERSLIGATURE_CHARACTERSNON_EMBEDDED_FONTSINVISIBLE_TEXTWHITE_TEXTLOW_TEXT_DENSITYHIGH_IMAGE_COVERAGELOST_WORD_SPACINGSPLIT_CHARACTER_SPACINGVERTICAL_TEXTROTATED_PAGESACROFORM_FIELDSNON_STANDARD_PAGE_SIZEUNTAGGED_PDFMISSING_DOCUMENT_LANGUAGELARGE_FILE_SIZETRUNCATED_ANALYSISMULTI_COLUMN_LAYOUTREADING_ORDER_INVERSIONREADING_ORDER_RISKCOLUMN_GUTTERTABLE_LIKE_LAYOUTTEXT_IN_MARGIN_ZONETIGHT_LINE_SPACINGSMALL_BODY_TEXTMANY_DISTINCT_FONTSNARROW_PAGE_MARGINSTEXT_OUTSIDE_PAGENON_STANDARD_BULLET_GLYPHSREPEATED_HEADER_FOOTERDENSE_PAGENO_EXPERIENCE_SECTIONNO_RECOGNIZED_HEADINGSFEW_SECTION_HEADINGSNO_EDUCATION_SECTIONNO_SKILLS_SECTIONHEADINGS_NOT_DISTINGUISHEDVERY_SHORT_DOCUMENTNO_BULLET_POINTSNO_ROLE_LINESNO_SUMMARY_SECTIONNO_EMAILNO_PHONENO_NAME_LINECONTACT_NOT_ON_FIRST_PAGEEMAIL_SPLIT_ACROSS_ITEMSLINK_TEXT_URL_MISMATCHMULTIPLE_EMAILSNO_PROFESSIONAL_LINKBARE_URL_WITHOUT_PROTOCOLPHONE_FORMAT_UNUSUALNO_DATES_FOUNDFEW_DATESUNPARSEABLE_DATE_RANGEREVERSED_DATE_RANGEFUTURE_DATED_ENTRYMIXED_DATE_FORMATSNO_CURRENT_ROLE_MARKERAMBIGUOUS_NUMERIC_DATENO_QUANTIFIED_IMPACTWEAK_ACTION_VERBSFIRST_PERSON_PRONOUNSLONG_BULLETSHIGH_PAGE_COUNTEMPLOYMENT_GAPALL_CAPS_RUNSREPEATED_PHRASESOptions:
blockerwarningtipOptions:
parseabilitylayoutsectionscontactdatescontentShow child attributesHide child attributes
Extracted text in reading order, for the optional AI review.