DLA DIBBS Defense RFQ & Solicitation Scraper (USA)
Pricing
from $14.18 / 1,000 rfq results
DLA DIBBS Defense RFQ & Solicitation Scraper (USA)
Scrape US Defense Logistics Agency DIBBS RFQs and solicitations: NSN, item, quantity, buyer, set-aside, issue and return-by dates. Filter by NSN, keyword or date. Export to JSON, CSV or Excel.
Pricing
from $14.18 / 1,000 rfq results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
DLA DIBBS Defense RFQ & Solicitation Scraper (USA)
Here is one real result, with every field the actor returns:
{"solicitationNumber": "SPE1C126Q0446","solicitationType": "Request for Quote","nsn": "8455-01-654-2769","niin": "016542769","fsc": "8455","nomenclature": "INSIGNIA, SHOULDER S","quantity": 15000,"unitOfIssue": "EA","purchaseRequest": "7017721136","buyerOffice": "DAW02G1N000","setAside": "Unrestricted/Not Set Aside","status": "Open","technicalDocuments": "Tech Docs","technicalDocumentsFlag": true,"postedDate": "2026-08-19","issueDate": "2026-08-19","returnByDate": "2026-08-26","daysUntilClose": 5,"isOpen": true,"rfqUrl": "https://www.dibbs.bsm.dla.mil/rfq/rfqrec.aspx?sn=SPE1C126Q0446","pdfUrl": "https://dibbs2.bsm.dla.mil/Downloads/RFQ/6/SPE1C126Q0446.PDF","pdfFileName": "SPE1C126Q0446.pdf","aiPlainSummary": null,"aiLikelyBidders": null,"aiUrgency": null,"source": "dibbs.bsm.dla.mil","observedAt": "2026-08-20T15:10:29.825Z","error": null}
The most complete DLA DIBBS RFQ scraper available. It returns every field the DIBBS bid board exposes for each Request for Quote (solicitation number, NSN, item nomenclature, quantity, unit of issue, purchase request, buyer office, set-aside, issue and return-by dates, technical documents), plus derived fields (FSC, NIIN, days until close, direct RFQ and PDF links) and optional AI enrichment, and gives you five filters to target exactly the defense procurement leads you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor collects Requests for Quote (RFQs) and solicitations posted to the US Defense Logistics Agency DIBBS bid board. It clears the site access notice for you, reads the published RFQ feed, and writes one normalized record per RFQ to the run dataset.
Two ways to pull data:
- Browse mode: leave the NSN empty to walk the most recently posted RFQs across every stock class. Filter by item keyword, posted-since date and quote deadline.
- NSN mode: pass a National Stock Number to return every RFQ tied to that item, each already carrying set-aside, RFQ status, technical documents flag, issue date and full item name.
On top of the source fields, the actor derives the Federal Supply Class (FSC), the NIIN, days until the quote closes, an open/closed flag, and direct links to the RFQ record and its solicitation PDF. Missing source values are returned as null, never invented.
Quickstart
Open the actor, paste this into the input, and press Run. It returns the 10 most recently posted defense RFQs whose item name contains "cable".
{"keyword": "cable","maxResults": 10,"withDetails": true}
Leave every field empty to pull the most recently posted RFQs with no filter. To pull all RFQs for a specific item, set nsn (for example 8455-01-654-2769).
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | string | no | (empty) | Keep only RFQs whose item nomenclature contains this word, for example bearing, valve, glove, cable. |
nsn | string | no | (empty) | Return every RFQ for one National Stock Number, for example 8455-01-654-2769 (dashes optional). Uses the DIBBS RFQ search directly and includes set-aside, status, technical documents and issue date per solicitation. |
setAside | string | no | (empty) | Keep only RFQs whose set-aside label contains this text, for example small business, sdvosb, hubzone, unrestricted. Requires per-record details (on by default for paid runs). |
postedSince | string | no | last 30 posting days | In browse mode, include only RFQs posted on or after this date (YYYY-MM-DD). Ignored when an NSN is set. |
closeBefore | string | no | (empty) | Keep only RFQs whose return-by (quote deadline) date is on or before this date (YYYY-MM-DD). |
maxResults | integer | no | 10 | Maximum RFQ records to return. Free Apify plans are capped at 10 per run. |
withDetails | boolean | no | true | On by default for paid runs. In browse mode, enriches each RFQ with set-aside, status, technical documents flag, issue date and full item name. Charged only when the details are found. |
withAiSummary | boolean | no | false | Off by default. For paid runs, adds a plain-language summary, likely bidder type and urgency rating per RFQ. Charged only when the AI returns a usable result. |
Output reference
One dataset item per RFQ. Types: string, integer, boolean, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
solicitationNumber | string | DIBBS solicitation / RFQ number, for example SPE1C126Q0446. |
solicitationType | string | Type derived from the number: Request for Quote, Automated Request for Quote or Request for Proposal. |
nsn | string | National Stock Number, formatted 4-2-3-4. |
niin | string | 9-digit National Item Identification Number. |
fsc | string | 4-digit Federal Supply Class of the item. |
nomenclature | string | Item name. Full text when details are enriched, otherwise the short index form. |
quantity | integer | Quantity requested. |
unitOfIssue | string | Unit of issue code, for example EA, PR, BX, FT. |
purchaseRequest | string | Purchase request (PR) number backing the RFQ. |
buyerOffice | string | DLA buying office / routing identifier code. |
setAside | string | Set-aside label, for example Unrestricted/Not Set Aside or Total Small Business Set-Aside. |
status | string | RFQ status: Posted, Open, Removed or Awarded. |
technicalDocuments | string | Technical documents availability text (None when there are none). |
technicalDocumentsFlag | boolean | true when the RFQ has associated technical documents. |
postedDate | string | Date the RFQ was posted (YYYY-MM-DD). |
issueDate | string | Issue date of the solicitation (YYYY-MM-DD). |
returnByDate | string | Quote return-by / close date (YYYY-MM-DD). |
daysUntilClose | integer | Whole days between now and the return-by date; negative when already closed. |
isOpen | boolean | true when the return-by date is today or later. |
rfqUrl | string | Direct link to the RFQ record on DIBBS. |
pdfUrl | string | Link to the solicitation PDF package. |
pdfFileName | string | Solicitation PDF file name. |
aiPlainSummary | string | Optional AI one-line summary of the RFQ (add-on). |
aiLikelyBidders | string | Optional AI description of the supplier type likely to bid (add-on). |
aiUrgency | string | Optional AI urgency rating: high, medium or low (add-on). |
source | string | Data source host. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed run, a single item with a populated error field is written instead. |
Example output record
Real record from a live NSN run (input {"nsn": "8455-00-408-5292", "withAiSummary": true}), with the AI add-on on:
{"solicitationNumber": "SPE1C126Q0382","solicitationType": "Request for Quote","nsn": "8455-00-408-5292","niin": "004085292","fsc": "8455","nomenclature": "INSIGNIA, GRADE, ENLI","quantity": 60,"unitOfIssue": null,"purchaseRequest": "7017430273","buyerOffice": null,"setAside": "Unrestricted/Not Set Aside","status": "Open","technicalDocuments": "None","technicalDocumentsFlag": false,"postedDate": "2026-07-22","issueDate": "2026-07-22","returnByDate": "2026-07-29","daysUntilClose": -23,"isOpen": false,"rfqUrl": "https://www.dibbs.bsm.dla.mil/rfq/rfqrec.aspx?sn=SPE1C126Q0382","pdfUrl": "https://dibbs2.bsm.dla.mil/Downloads/RFQ/2/SPE1C126Q0382.PDF","pdfFileName": null,"aiPlainSummary": "The DLA is seeking bids for 60 units of insignia, grade, ENLI with NSN 8455-00-408-5292.","aiLikelyBidders": "Suppliers of military insignia and apparel","aiUrgency": "high","source": "dibbs.bsm.dla.mil","observedAt": "2026-08-20T15:11:19.754Z","error": null}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~dibbs-defense-rfq-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"keyword":"cable","maxResults":25,"withDetails":true}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~dibbs-defense-rfq-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"nsn":"8455-01-654-2769","withAiSummary":true}'
Apify CLI:
apify call scrapers_lat/dibbs-defense-rfq-scraper \--input '{"keyword":"valve","maxResults":50}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets.
Billing and limits
- Pay per result. You are charged per RFQ returned (
resultevent). See the pricing tab for the current per-result price. - Optional add-ons.
detailsenrichment (set-aside, status, technical documents) is on by default for paid runs and charged only when the extra fields are found.ai_rfq_summaryis off by default and charged only when the AI returns a usable summary. Both add-ons are disabled for free plans. - No charge on failure. If a run errors or matches nothing, the actor does not charge for results. Empty runs cost nothing.
- Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable records. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxResults.
FAQ and troubleshooting
A run returned 0 records. Why?
In browse mode the source posts new RFQs on business days only, so a very narrow postedSince window plus a rare keyword can match nothing. Widen the date window or loosen the keyword. In NSN mode, the item may simply have no open or recent RFQs. Zero-result runs are not charged.
How do I find only small business opportunities?
Set setAside to small business (or sdvosb, hubzone, wosb). Set-aside filtering uses the per-record details, which are on by default for paid runs.
How do I find RFQs closing soon?
Set closeBefore to a near date, for example the end of the month, and sort or filter the output on daysUntilClose.
What is the difference between browse mode and NSN mode? With no NSN, the actor lists recently posted RFQs across all stock classes. With an NSN, it returns every RFQ tied to that exact item, already enriched with set-aside, status and technical documents.
Why is unitOfIssue or buyerOffice null on some records?
Those two fields come from the recently-posted RFQ feed used in browse mode. NSN-mode records are sourced from the RFQ search, which does not publish them, so they are returned as null rather than guessed.
Is this an official DLA tool? No. This actor is independent and not affiliated with the Defense Logistics Agency or the US Department of Defense. It reads only data that is publicly available on the DIBBS bid board.
Related scrapers
- SAM.gov Opportunities Scraper: US federal contract opportunities and notices.
- USAspending Federal Award Scraper: US federal prime awards.
- Grants.gov Opportunity Scraper: US federal grant opportunities.
- World Bank Procurement Scraper: World Bank contract awards and notices.
- SEC EDGAR Company Filings Scraper: SEC filings by ticker or CIK.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with the Defense Logistics Agency or the US Department of Defense. Accesses only publicly available DIBBS bid board data.
