ParseForge Scrapers

Applicant Authenticity Analyzer

parseforge/applicant-authenticity-analyzer

AIAgentsJobs

Analyzes candidate applications for fraud signals and returns a 1-10 authenticity score with plain-language explanations. Feed it resumes, cover letters, work histories, or a URL to a candidate feed.

Run this scraper See the API call
Total users
9
Monthly active
0
Total runs
278
Bookmarked
0
Rating
5.0 (2)
Last modified
12 days ago

Overview

ParseForge

Applicant Authenticity Analyzer

Screen candidate applications for fraud signals and authenticity risks, returning a 1-10 score with plain-language explanations. Feed it resumes, cover letters, work histories, or a URL to a candidate feed. No manual cross-checking required.

Hiring teams waste hours verifying resume claims, spotting fake experience, and cross-referencing inconsistent application details. The Applicant Authenticity Analyzer reads candidate data from a JSON or CSV feed, or from inline resumes and application notes you paste in, and flags suspicious patterns. Each candidate gets an authenticity score, a risk label, and a human-readable breakdown of what looks genuine and what does not.

Who uses it What they scrape Applicant Authenticity Analyzer for
Recruiters Pre-screen bulk applicant lists before scheduling interviews
HR compliance teams Audit candidate pipelines for resume fraud and misrepresentation
Hiring managers Validate shortlisted candidates before extending an offer
Background check firms Triage applications by risk level before running full verifications

What it does

This Actor analyzes candidate applications for fraud signals and returns a 1-10 authenticity score with detailed findings for each person.

  • ๐Ÿ“„ Resume text and URL ingestion: paste plain-text resumes, supply PDF or DOCX links, or point to a JSON/CSV feed of candidate objects.
  • ๐Ÿ” Fraud signal detection: flags inflated titles, timeline gaps, copied boilerplate, and credential mismatches automatically.
  • ๐Ÿง  AI-powered explanations: every score comes with a plain-language summary of what triggered the risk rating.
  • โš™๏ธ Custom red flags: supply your own suspicious signals like "resume identical to previous applicant" to weight the score.
  • ๐Ÿ“Š Batch processing: run up to a million candidates in one job, with a configurable risk threshold and max-items cap.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Applicant Authenticity Analyzer data

๐Ÿ“‹ Pre-screen a high-volume applicant pool.

A recruiter uploads a CSV of 500 applicants and sets a risk threshold of 6 to flag only the most suspicious profiles for manual review.

๐Ÿ•ต๏ธ Audit a shortlist before final interviews.

A hiring manager pastes the resumes and cover letters of three finalists to check for inflated titles or timeline inconsistencies before extending offers.

๐Ÿข Validate agency-submitted candidates.

An HR team runs every agency-submitted resume through the analyzer to catch fabricated experience before the candidate reaches the hiring manager.

๐Ÿ“Ž Add custom fraud signals for your industry.

A compliance officer adds signals like "claims a certification we know is retired" to weight the risk score for regulated roles.

Why choose this scraper

What you get
Authenticity score A 1-10 rating per candidate, where 10 is highly authentic
Risk label Scores at or above your threshold are marked suspicious
Findings summary Plain-language bullet points explaining the score
Batch ready Process one candidate or thousands in a single run

How it compares

No other Store actor targets Applicant Authenticity Analyzer the same way, so the honest comparison is with the alternatives teams actually weigh.

Applicant Authenticity Analyzer Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When Applicant Authenticity Analyzer changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor from a startUrl pointing to a candidate feed, or supply candidates inline as resume texts, resume URLs, or structured objects with work history and education. The risk threshold and custom suspicious signals let you tune what gets flagged. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10
}

A larger pull:

{
  "maxItems": 200
}

Pricing

Pay-per-result: $0.005 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.50
1,000 results $5.00
10,000 results $50.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Applicant Authenticity Analyzer.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Applicant Authenticity Analyzer through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/applicant-authenticity-analyzer"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting an authentication error?

Check that your OpenAI API key is valid and has sufficient credits. If you set the key via environment variable, confirm the variable name matches what the actor expects. The openAIApiKey input field takes precedence over the environment variable.

The actor runs but returns no results.

Verify that you provided at least one candidate via the candidates array, resumeUrls, resumeTexts, or a valid startUrl. Also check that maxItems is set to a number greater than zero and that your startUrl returns a parseable JSON or CSV payload.

Resume URLs are not being downloaded.

Ensure allowNetworkRetrieval is set to true. If the URLs require authentication or are behind a login wall, the actor cannot access them. Use resumeText or the candidates array to supply the content directly.

The scores seem inconsistent or too low.

Try lowering the riskThreshold to catch more candidates. Also review the jobContext and suspiciousSignals fields. Providing a detailed job description and custom red flags helps the model calibrate its scoring to your specific role.

FAQ

Question Answer
What data does the analyzer need to score a candidate? At minimum, a resume text or resume URL. For better accuracy, include work history, education, skills, and a cover letter. The more structured data you provide, the more signals the model can evaluate.
How is the authenticity score calculated? The score is generated by an AI model that cross-references claims across the resume, work history, education, and cover letter. It looks for inconsistencies, timeline gaps, inflated titles, and boilerplate language, then returns a 1-10 rating with a written explanation.
Can I use my own OpenAI API key? Yes. Provide your key in the openAIApiKey field or set it as an environment variable. The default model is gpt-4o-mini, but you can override it with any compatible OpenAI model.
What file formats are supported for resume URLs? PDF, DOCX, and TXT files are supported. The actor downloads and extracts text from each URL when allowNetworkRetrieval is enabled.
How many candidates can I process in one run? Up to 1,000,000 candidates. Free Apify users must set maxItems to 10 or fewer. Paid plans can scale to the full limit.
Can I feed the actor a live ATS or job board feed? Yes. Provide a public URL to a JSON or CSV feed of candidate objects in the startUrl field. The actor will parse and score every candidate in the feed.
What is the risk threshold and how should I set it? The risk threshold is a number from 1 to 10. Candidates scoring at or above the threshold are labeled suspicious. The default is 6. Lower it to catch more borderline cases, or raise it to flag only the most obvious fraud.
Can I add my own red flags? Yes. Use the suspiciousSignals field to pass a list of custom strings like "resume identical to previous applicant" or "claims employment at a known shell company." Each match adds weight to the risk score.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by ParseForge. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
startUrl string Public URL to a JSON or CSV feed containing candidate objects. When provided, inline candidate fields are ignored. not set
startUrlOptions object Optional tweaks applied when loading candidates from startUrl. not set
candidates array Inline candidate objects with resume text, URLs, or application data. not set
resumeUrls array List of resume URLs (PDF, DOCX, TXT). Each URL is treated as a separate candidate. not set
resumeTexts array Plain-text resumes (one string per candidate). not set
applicationNotes array Short-form application answers or recruiter notes to evaluate. not set
jobContext object Optional context describing the role you are screening for. not set
suspiciousSignals array Custom red flags (e.g., "Resume identical to previous applicant"). Each string adds weight to the risk score. not set
riskThreshold integer Scores โ‰ฅ threshold are labelled as suspicious. Default: 6. 6
maxItems integer Limit number of candidates to process. Free users must set โ‰ค100. 10
allowNetworkRetrieval boolean Allow the actor to download resumes/attachments (PDF, DOCX, TXT) referenced by URL. true
openAIApiKey string Only required if not configured via environment variable. Used to run authenticity analysis. not set
aiModel string Override the OpenAI model used for authenticity evaluation. gpt-4o-mini
notes string Optional instructions or notes stored with every result. not set

Pricing

from $2.00 per 1,000 results

Charged forWhat it isPrice each
Actor Start Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). $0.0005 to $0.001
Result Single result in the default dataset. $0.002 to $0.005

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~applicant-authenticity-analyzer/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

Rated 5.0 out of 5 across 2 reviews. Read them on Apify.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Applicant Authenticity Analyzer on Apify All scrapers