DIBBS RFQ Scraper
Pricing
Pay per event
DIBBS RFQ Scraper
Extract public DLA DIBBS RFQs, NSNs, quantities, deadlines, set-asides, Fast Award flags, and solicitation document links.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
Turn public US Defense Logistics Agency requests for quotation into structured, alert-ready procurement records.
DIBBS RFQ Scraper collects opportunities from the DLA Internet Bid Board System (DIBBS) and exports solicitation numbers, NSNs, descriptions, quantities, deadlines, set-asides, Fast Award flags, and document links.
Use it for daily supplier monitoring, part-number watchlists, bid-intelligence feeds, and CRM enrichment—without manually opening large DIBBS tables.
What does DIBBS RFQ Scraper do?
The Actor:
- accepts the public Department of Defense warning for an anonymous session;
- discovers current RFQ posting dates from DIBBS;
- collects structured solicitation rows from selected dates;
- filters opportunities to your product and contracting criteria;
- removes duplicate solicitations;
- exports data to an Apify dataset;
- provides direct RFQ PDF and DIBBS package links when available.
It does not submit quotes, sign into vendor accounts, unlock restricted cFolders documents, or extract the body of RFQ PDFs.
Who is this DIBBS procurement scraper for?
Government contractors
Monitor newly posted RFQs that match the products your company can supply.
Manufacturers
Watch NSNs and Federal Supply Classes connected to your catalog.
Distributors
Find time-sensitive resale and sourcing opportunities across recent DLA requests.
Bid-intelligence teams
Feed clean DIBBS records into scoring, enrichment, and alert pipelines.
Procurement software teams
Use the API output as a reliable first stage for internal dashboards and CRM workflows.
Why automate DLA RFQ discovery?
DIBBS publishes valuable opportunities in large HTML tables.
Manual review is repetitive and makes it easy to miss a short deadline.
Scheduled extraction helps you:
- identify opportunities shortly after posting;
- focus on relevant FSCs or NSNs;
- prioritize set-asides and Fast Award candidates;
- retain a consistent historical export;
- notify sales or estimating teams automatically;
- reduce copy-and-paste errors.
What DIBBS RFQ data can I extract?
| Field | Meaning |
|---|---|
solicitationNumber | DLA solicitation identifier |
nsn | National Stock Number |
fsc | Four-digit Federal Supply Class derived from the NSN |
nomenclature | DIBBS item description |
status | Current displayed solicitation status |
purchaseRequestNumber | Purchase request identifier |
quantity | Requested quantity when shown |
issueDate | RFQ issue date |
returnByDate | Quote return deadline |
setAside | DIBBS set-aside label |
isSetAside | Normalized set-aside flag |
isFastAwardCandidate | DIBBS Fast Award flag |
technicalDocuments | Technical-document availability text |
hasTechnicalDocuments | Normalized technical-document flag |
rfqPdfUrl | Direct public RFQ PDF link |
packageUrl | Public DIBBS package view |
nsnUrl | Public DIBBS NSN view |
sourceUrl | Dated source table |
scrapedAt | UTC extraction timestamp |
How to scrape recent DIBBS RFQs
- Open the Actor input page.
- Set Recent posting days to the window you want.
- Add optional FSC, NSN, solicitation, or keyword filters.
- Set a practical Maximum RFQs limit.
- Click Start.
- Review the Dataset tab.
- Export JSON, CSV, Excel, XML, or another supported format.
A small first run can use one recent day and 25 RFQs.
Input options
Date selection
recentDays: newest posting dates to inspect, from 1 to 30.exactDates: exact DIBBS posting dates inMM-DD-YYYYformat.startDate: inclusive start of a date range.endDate: inclusive end of a date range.
Exact dates take precedence over a date range.
A date range takes precedence over recentDays.
Opportunity filters
fscCodes: exact four-digit FSC values.nsns: exact NSNs, with or without hyphens.solicitationNumbers: exact solicitations, with or without hyphens.keywords: terms that must appear in the solicitation, NSN, nomenclature, or PR.statuses: exact displayed statuses such asOpen.
DIBBS flags
setAsideOnly: keep only set-aside opportunities.fastAwardOnly: keep only Fast Award candidates.technicalDocumentsOnly: keep only records showing technical documents.
All supplied filters are restrictive and fail closed.
Example input
{"recentDays": 7,"fscCodes": ["6505"],"statuses": ["Open"],"maxItems": 100}
To monitor an exact part:
{"recentDays": 15,"nsns": ["6505-00-153-8480"],"maxItems": 25}
To prioritize small-business opportunities:
{"recentDays": 15,"setAsideOnly": true,"fastAwardOnly": true,"maxItems": 250}
Example output
{"solicitationNumber": "SPE2DP-26-T-4195","nsn": "6505-00-153-8480","fsc": "6505","nomenclature": "HYDROGEN PEROXIDE TOPI","status": "Open","purchaseRequestNumber": "7017530471","quantity": 1,"issueDate": "07-20-2026","returnByDate": "07-27-2026","isSetAside": false,"isFastAwardCandidate": true,"hasTechnicalDocuments": false,"rfqPdfUrl": "https://dibbs2.bsm.dla.mil/Downloads/RFQ/5/SPE2DP26T4195.PDF","packageUrl": "https://www.dibbs.bsm.dla.mil/rfq/rfqrec.aspx?sn=SPE2DP26T4195"}
Fields reflect what DIBBS displays at extraction time.
How much does it cost to scrape DIBBS RFQs?
This Actor uses pay-per-event pricing:
- a small one-time Actor start charge;
- a per-RFQ result charge;
- automatic volume discounts by Apify subscription tier.
You pay for records actually saved, subject to your Apify plan and maximum total charge settings.
The exact live prices appear on the Actor pricing tab and in the run cost estimate.
Use maxItems to control volume.
Scheduling a DIBBS RFQ monitor
A common workflow is:
- create a task with one or more FSC codes;
- set
recentDaysto 1 or 2; - schedule it every morning;
- save results to a dataset;
- send new solicitations to email, Slack, a webhook, or your CRM;
- deduplicate downstream by
solicitationNumber.
Separate tasks can represent separate product lines or capture teams.
Integrations and workflow patterns
Connect the Actor with:
- Google Sheets for a shared opportunity tracker;
- Make for no-code routing and notifications;
- Zapier for sales and CRM automation;
- Slack for deadline alerts;
- webhooks for internal bid-scoring services;
- Amazon S3 or cloud warehouses for procurement history;
- Apify schedules for daily monitoring.
A useful integration pattern is scrape → filter → enrich → score → alert.
Use the DIBBS scraper with the Apify API
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/dibbs-rfq-scraper').call({recentDays: 3,fscCodes: ['6505'],maxItems: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient(token='YOUR_APIFY_TOKEN')run = client.actor('automation-lab/dibbs-rfq-scraper').call(run_input={'recentDays': 3,'fastAwardOnly': True,'maxItems': 100,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~dibbs-rfq-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"recentDays":1,"maxItems":25}'
Never commit an Apify token to source control.
Use DIBBS RFQ Scraper through MCP
Apify MCP lets AI assistants run this Actor as a tool.
Claude Code setup
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/dibbs-rfq-scraper"
Claude Desktop setup
Add this server to the mcpServers object in Claude Desktop’s configuration.
Cursor setup
Add the same mcpServers entry in Cursor’s MCP settings.
VS Code setup
Add the server under mcpServers in your VS Code MCP configuration.
{"mcpServers": {"apify-dibbs": {"url": "https://mcp.apify.com?tools=automation-lab/dibbs-rfq-scraper"}}}
Authenticate with your Apify account when the MCP client requests it.
Example prompts:
- “Find recent open DIBBS RFQs in FSC 6505.”
- “Monitor Fast Award set-asides from the last week.”
- “Export solicitation numbers and return-by dates for these NSNs.”
- “Summarize the newest matching opportunities for our sales team.”
Data quality and deduplication
The Actor deduplicates records by solicitation number within each run.
NSNs and solicitation numbers are normalized before exact matching.
Quantities are returned as numbers when DIBBS displays a parseable quantity.
Missing optional links are returned as null rather than invented URLs.
Date values retain DIBBS display format.
For cross-run deduplication, use solicitationNumber as the primary key.
Tips for better RFQ results
- Start with one recent day while validating a workflow.
- Use FSC codes for broad product-category monitoring.
- Use NSNs for exact catalog matching.
- Keep keywords short and specific.
- Use status
Openfor active quote opportunities. - Review the
returnByDatebefore routing an alert. - Store both the RFQ PDF and package URL for analyst review.
- Increase
maxItemsonly when you need a larger export.
Limitations
DIBBS controls data availability, labels, and uptime.
The public recent-date index covers a bounded current window.
This Actor does not bypass authentication or restricted technical-document access.
It does not submit a bid or determine whether your company is eligible.
It does not interpret solicitation clauses or replace legal review.
A source layout change can require parser maintenance.
Filters apply to the structured list row, not to the body of the linked PDF.
Is scraping DIBBS legal?
DIBBS RFQ listings used by this Actor are publicly viewable after accepting the standard DoD warning.
Public availability does not remove your obligations.
You are responsible for:
- following DIBBS terms and applicable laws;
- using the data for a legitimate purpose;
- protecting any exported business information;
- validating eligibility and solicitation requirements;
- respecting controlled or restricted document access.
This Actor does not provide legal advice.
Troubleshooting
Why did my filtered run return zero records?
The selected dates may contain RFQs, but none matched every supplied filter. Remove filters one at a time or widen the date window.
Why is an exact date rejected?
Use MM-DD-YYYY, for example 07-20-2026. The date must also exist in the current public DIBBS recent-date index.
Why is a PDF link missing?
DIBBS does not expose the same links on every record. Optional URLs remain null when absent.
Why did a run fail before saving data?
DIBBS may be temporarily unavailable or may have changed its warning/session flow. Retry later and check the run log.
Frequently asked questions
Can I search by part number?
Use an exact NSN for deterministic matching or a keyword from the nomenclature. Approved manufacturer part-number search is not part of v1.
Can I scrape closed RFQs?
The actor collects records exposed on selected recent posting dates and can filter by the displayed status. Long-term historical search is not promised.
Does it download RFQ PDFs?
It exports the public PDF URL. It does not store or parse the PDF body.
Does it require a DIBBS login?
No. The supported listing scope uses an anonymous public consent session.
Can I run it every day?
Yes. Daily scheduled monitoring is a primary use case.
What counts as one result?
One saved, structured RFQ solicitation counts as one result event.
Related scrapers
Explore other public-data and procurement automation tools from automation-lab.
Combine this Actor with your preferred enrichment, company-research, contact, or document-processing Actors from the automation-lab portfolio.
Keep the DIBBS Actor focused on solicitation discovery, then route the exported records into the specialized downstream tool your workflow needs.
Support
If a run behaves unexpectedly, share the run URL and a concise description through the Actor’s Issues tab.
Include the input mode, expected date or solicitation, and whether the source record was visible on DIBBS.
Do not include private credentials, quote details, or controlled documents.