RFP Amendment & Addendum Checker: Deadlines & Requirements avatar

RFP Amendment & Addendum Checker: Deadlines & Requirements

Pricing

$1,000.00 / 1,000 rfp amendment comparisons

Go to Apify Store
RFP Amendment & Addendum Checker: Deadlines & Requirements

RFP Amendment & Addendum Checker: Deadlines & Requirements

Compare an RFP, bid or solicitation with its latest amendment or addendum. Get every changed deadline, mandatory requirement and submission instruction, with before/after text and page citations.

Pricing

$1,000.00 / 1,000 rfp amendment comparisons

Rating

0.0

(0)

Developer

Nicholas Tamagni

Nicholas Tamagni

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

What does RFP Amendment & Addendum Checker do?

Compare an RFP, bid or solicitation with its latest amendment or addendum. Get every changed deadline, mandatory requirement, and submission instruction with before/after text and page citations.

The result: the proposal manager updates the deadline and compliance checklist without rereading both PDFs. Each change says what moved, quotes the wording in each document, gives the page number, and flags how urgent it is, so your team checks a short list instead of two full documents.

Real example: Rhode Island Commerce RFP-2616 and Addendum 1

This is the Actor's prefilled input, so clicking Start reproduces it. The 13-page RFP-2616 PDF was compared with its one-page Addendum 1 in addendum mode. Out of 12 statements in the addendum, it returned exactly one change, the corrected proposal deadline, and skipped 10 boilerplate statements such as form fields and acknowledgment language.

What the proposal manager reads:

  • 1 change requires review: 1 deadline, 0 requirements, 0 other; 1 high severity.
  • Before (original, page 4, the matching schedule row cited as context): "Deadline for Submissions October 16, 2026"
  • After (Addendum 1, page 1): "The deadline for submission of proposals has been corrected to 11:59 pm, Friday, October 16, 2026."
  • Severity: high. Update: submission schedule and compliance checklist.

⚠️ Human review required. Categories, severity and section suggestions are review cues, not a legal or compliance determination. Always open the cited page in the official documents before you change a proposal. An empty change list means nothing was detected within the limits below, not that the amendment changed nothing.

The cloud run's output for this example (run on 2026-10-21; URLs and long arrays shortened):

{
"status": "success",
"amendmentIndex": 1,
"comparisonMode": "addendum",
"summary": {
"reviewLine": "1 change requires review: 1 deadline, 0 requirements, 0 other; 1 high severity.",
"totalChanges": 1,
"returnedChanges": 1,
"truncatedChanges": 0,
"added": 1,
"removed": 0,
"modified": 0,
"requirements": 0,
"deadlines": 1,
"other": 0,
"filteredBoilerplate": 10
},
"changes": [
{
"id": "change-1",
"type": "added",
"category": "deadline",
"severity": "high",
"severityReason": "A date or time differs between the cited passages or is stated as revised; verify the official schedule.",
"proposalSections": [
"Submission schedule and compliance checklist"
],
"assessmentMethod": "deterministic-rules",
"suggestionsAreHeuristic": true,
"matchMethod": "addendum-new-statement",
"before": null,
"after": "1. The deadline for submission of proposals has been corrected to 11:59 pm, Friday, October 16, 2026.",
"citations": {
"original": {
"source": "original",
"name": "Rhode Island Commerce RFP-2616",
"url": "…",
"page": 4,
"quote": "Deadline for Submissions October 16, 2026",
"relation": "context",
"note": "Nearby source text supplied only as context; it is not the added or removed statement."
},
"amendment": {
"source": "amendment",
"name": "Addendum 1 (deadline correction)",
"url": "…",
"page": 1,
"quote": "1. The deadline for submission of proposals has been corrected to 11:59 pm, Friday, October 16, 2026.",
"relation": "changed-text"
}
}
}
],
"sources": {
"original": {
"name": "Rhode Island Commerce RFP-2616",
"type": "pdf",
"pageCount": 13,
"noTextPages": [],
"statementCount": 328
},
"amendment": {
"name": "Addendum 1 (deadline correction)",
"type": "pdf",
"pageCount": 1,
"noTextPages": [],
"statementCount": 12
}
},
"warnings": [
"Addendum mode does not treat omitted original text as deleted. Suggested modifications are similarity matches that require human review.",
"10 boilerplate statements (form fields, headers, acknowledgment and standard addendum language) were omitted; set includeBoilerplate to true to return them."
],
"limitations": [
"Compares each amendment independently against the original; does not apply a cumulative amendment history.",
"…"
]
}

In addendum mode the addendum's new text is in after, and the original's matching passage is cited as context (here, the page 4 schedule row). In replacement mode, a modified statement has both before and after filled in.

How it works

It uses deterministic text extraction and rules, so no LLM or OCR API key is needed, and the same documents always give the same result. Every change carries assessmentMethod: "deterministic-rules" and suggestionsAreHeuristic: true.

Tested on real RFPs

Build 1.0.9 was checked against public procurement documents on 2026-10-13:

  • Rhode Island Commerce RFP-2616 (13-page PDF) vs Addendum 1 and 2 in addendum mode: Addendum 1 returned exactly one change, the corrected proposal deadline, with boilerplate statements omitted (9 in build 1.0.9; 10 when rerun on build 1.0.13 on 2026-10-21); Addendum 2 returned exactly its two corrected question and response deadlines.
  • Siskiyou County RFP 26-2060-01 vs Addendum 1: 14 changes, 10 of them deadlines, with each revised schedule row paired to the same event in the original.
  • Siskiyou RFP vs an edited full revision (replacement mode): all five edits found with page citations (two moved deadlines, an added license requirement, a "shall" to "may" change and an insurance amount change) and nothing else.

Why use this RFP amendment and addendum checker?

  • 📅 Catch deadline changes. Moved proposal due dates, question deadlines and schedule rows are flagged as deadline changes, with high severity.
  • 📋 Spot requirement and submission-instruction changes. Added or changed statements with words like must, shall, required, mandatory, minimum or eligibility are flagged as requirement changes.
  • 📄 Before/after with page citations. Every change quotes the wording from each document with its page number.
  • 🧹 Less noise. In addendum mode, form fields, signature blocks, repeated headers and "all other terms remain unchanged" boilerplate are filtered out.
  • 💸 One price per comparison. No per-page or per-change fees, and error records are free.

Who it's for

  • Proposal managers and bid teams at government contractors and consultancies
  • Procurement, capture and BD teams tracking many open solicitations
  • AI agents that monitor tenders and must report what changed in each amendment

How to check an RFP amendment or bid addendum

  1. Click Try for free or Start to open the Actor in Apify Console. The Rhode Island example above is prefilled, so you can run it as is.
  2. Replace the original with your RFP as text or a public PDF/plain-text url.
  3. Add one or more amendments the same way.
  4. Choose the document type (comparisonMode): see "Replacement or addendum?" below.
  5. Click Start. Read each result's summary.reviewLine first, then each change's before, after, severity and page citations.

Before you start: two limits to know

  • ⚠️ Scanned PDFs need OCR first. The Actor reads the PDF's text layer. A PDF with no extractable text returns an error, and pages without text produce a warning, so run OCR or paste the text instead. Images, signatures and table layout are not analyzed.
  • ⚠️ Amendments are not cumulative. Every amendment is compared with the same original, not with the previous amendment. If Addendum 2 changes a date that Addendum 1 already changed, compare Addendum 2 with the latest full version, or read the results in order.

Input

Replacement or addendum?

Pick the option that matches the amendment document you have:

  • Replacement document (replacement, the API default): the amendment is a complete revised RFP, the whole document again with edits. The Actor reports added, removed and modified statements.
  • Supplemental addendum (addendum, used in the prefilled example): the amendment is a short separate document, such as "Addendum 1" listing corrections, new dates or Q&A answers. The Actor reports what it adds or changes, and never treats text missing from the addendum as deleted.

A document titled "Amendment" is not always a complete replacement. If you run replacement on a short addendum, the result includes a warning suggesting addendum mode.

Documents suppliedUse comparisonModeWhat you get
Original plus a complete revised versionreplacementAdded, removed and modified statements between the two versions.
Original plus a separate amendment or supplementaddendumNew supplemental statements and likely modifications; statements missing from the supplement are never reported as deleted.

Example input (the Actor's prefilled input):

{
"original": {
"name": "Rhode Island Commerce RFP-2616",
"url": "https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/rhodeisland/RFP_2616_9770bc9e-f04f-4f29-8ee4-d08463b690a1.pdf"
},
"amendments": [
{
"name": "Addendum 1 (deadline correction)",
"url": "https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/rhodeisland/RFP_2616_Deadline_correction_Addendum_1_d8379755-995d-4386-8346-970608f3c2a1.pdf"
}
],
"comparisonMode": "addendum",
"maxChanges": 500
}
FieldRequiredMeaning
originalYesDocument object with exactly one of text or url, and optional name.
amendmentsYesArray of 1 to 50 document objects with the same shape. Each is compared with the original, not cumulatively.
comparisonModeNoreplacement (default) or addendum.
maxChangesNoMaximum returned changes per amendment, 1–2,000; default 500. Summary totals still count everything.
includeBoilerplateNoAddendum mode only. true returns every new statement, including boilerplate.

Supported document formats

  • Native text: plain text or Markdown. A form-feed character (\f in JSON) marks a page break.
  • url: a direct HTTP(S) link to a public PDF or plain-text file. HTML pages, private network addresses and logged-in downloads are not supported.
  • PDFs are read with PDF.js. Page numbers are physical PDF pages. Scanned PDFs need OCR first (see the warning above).
  • Limits: 10 MiB per download; 2,000,000 characters, 2,000 pages and 20,000 statements per document.

Output

Each amendment produces one JSON record. See the real example above.

Output fields

FieldMeaning
statussuccess, or error with error.code and error.message.
amendmentIndexThe amendment's 1-based position in the input.
sources.original, sources.amendmentname, url, type, pageCount, noTextPages, statementCount.
summaryreviewLine (for example "1 change requires review: 1 deadline, 0 requirements, 0 other; 1 high severity."), then totalChanges, returnedChanges, truncatedChanges, added, removed, modified, requirements, deadlines, other, filteredBoilerplate.
changes[]type (added, removed, modified), category (deadline, requirement, other), severity (high, medium, low) with severityReason, proposalSections, matchMethod, before, after and citations.
warningsIssues such as PDF pages with no extractable text, or a hint to switch to addendum mode when the amendment is much shorter than the original.
limitationsQualifications about extraction and heuristic matching.

A citation with relation: "changed-text" quotes the changed statement itself. For an addition or removal, the other document's citation uses relation: "context": a nearby anchor statement, not a quote of the changed clause. relation: "absence" has a null page and quote.

How much does it cost to compare RFP amendments?

This Actor uses pay-per-event pricing: $1.00 per successful amendment comparison, no matter how many pages or changes it contains. A comparison with zero detected changes is still one successful comparison. Error records are not charged. Comparing one RFP against three addenda costs $3.00.

The Apify Free plan includes monthly platform usage credits with no credit card required. Check the Pricing tab for the current rate, and set a spending limit before submitting many amendments.

Use the RFP amendment checker from an AI agent or the API

The Actor ID is nickatnite79/rfp-amendment-analyzer, and it is available as a tool through the Apify MCP server (https://mcp.apify.com). An agent should read status first, then summary.reviewLine, warnings, sources.*.noTextPages and summary.truncatedChanges, before summarizing changes.

With apify-client and your own Apify token as APIFY_TOKEN:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('nickatnite79/rfp-amendment-analyzer').call({
original: { name: 'RFP-2616', url: 'https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/rhodeisland/RFP_2616_9770bc9e-f04f-4f29-8ee4-d08463b690a1.pdf' },
amendments: [{ name: 'Addendum 1', url: 'https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/rhodeisland/RFP_2616_Deadline_correction_Addendum_1_d8379755-995d-4386-8346-970608f3c2a1.pdf' }],
comparisonMode: 'addendum',
}, { maxTotalChargeUsd: 1 });
if (run.status !== 'SUCCEEDED') throw new Error(`Actor run status: ${run.status}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0].summary.reviewLine);

FAQ

Does it apply "delete and replace" instructions?

No. It compares extracted text. It does not interpret instructions such as "Section 4 is deleted and replaced" or build a cumulative amended RFP; those lines are kept for your review.

Does an empty change list mean the amendment changed nothing?

It means no statement changes were detected within these limits. It is not a compliance determination. Always review the cited passages in the source documents before updating a proposal.

What else can affect results?

In replacement mode, moving unchanged wording can appear as a removal plus an addition. PDF columns and tables can change reading order. A heavily rewritten clause may appear as a removal and an addition rather than a modification.

Something broke or a document didn't work?

Open an issue on the Issues tab with a link to the public RFP and amendment.

Other tools by the same developer that return clean JSON for automations and AI agents:

ActorWhat it does
Career Site Jobs ScraperScrape open jobs from Greenhouse, Lever, Ashby and Workable career sites
Job Status Checker (Workday & iCIMS)Check whether known job posting links are still open, closed or changed
Product Offer Verifier (SKU & GTIN)Verify a product URL against an exact SKU, model or GTIN with price and stock evidence
BizBuySell & BizQuest MonitorAlerts for new businesses for sale and asking price or cash flow changes
Google Trends API for AI AgentsGoogle Trends data with a rising, falling or flat verdict per keyword
App Store & Google Play Reviews ScraperiOS and Android app reviews in one run with one schema
Cheap Google News ScraperGoogle News search results and topic headlines as JSON
Shopify Products ScraperExport a Shopify store's products, prices, variants, SKUs and stock

Need a custom field, source or integration? Open an issue on the Issues tab.