GovDeals Government Surplus Auctions Scraper avatar

GovDeals Government Surplus Auctions Scraper

Pricing

from $6.80 / 1,000 results

Go to Apify Store
GovDeals Government Surplus Auctions Scraper

GovDeals Government Surplus Auctions Scraper

Scrape GovDeals US government surplus auctions: vehicles, heavy equipment, electronics and property sold by public agencies. Get title, current bid, seller agency, location, bid count, auction end date and time remaining. Filter by keyword, category or state. Export to JSON, CSV or Excel.

Pricing

from $6.80 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

14 hours ago

Last modified

Share

GovDeals Government Surplus Auctions Scraper

GovDeals Government Surplus Auctions Scraper

Here is one real result, with every field the actor returns:

{
"title": "Lot of 4 Motorola APX 7500 Radios",
"itemId": 204,
"currentBid": 913,
"bidPrice": 1,
"currencyCode": "USD",
"numBids": 32,
"category": "Fire & Police Equipment",
"categoryCode": "42",
"makeBrand": "Motorola",
"model": "APX 7500",
"modelYear": null,
"sellerAgency": "Clinton County Commissioners, OH",
"sellerAccountId": 3903,
"buyerGroup": "General Public",
"locationAddress": "1645 Davids Dr",
"locationCity": "Wilmington",
"locationState": "OH",
"stateDescription": "Ohio",
"locationZip": "45177-7148",
"country": "USA",
"latitude": 39.393157958984375,
"longitude": -83.86640930175781,
"auctionStartDate": "2026-07-31T08:23:46",
"auctionEndDate": "2026-08-14T06:00:46",
"auctionEndDateUtc": "2026-08-14T10:00:46Z",
"auctionEndDisplay": "August 14, 2026 06:00 AM EST",
"timeRemaining": "0:3:29:3",
"auctionTypeId": 3,
"hasReservePrice": false,
"isReserveNotMet": false,
"isSoldAuction": false,
"quantity": null,
"condition": null,
"description": "<p>Lot of 4 Motorola APX 7500 Radios. All radios worked when taken out of service. Radios have been blanked out..</p>",
"imageUrl": "https://files.lqdt1.com/photos/3903/3903_204_984ff6af-0abc-446b-95e7-08d7ac9f16b2.jpg?cb=260731084613",
"listingUrl": "https://www.govdeals.com/asset/204/account/3903/auction/1",
"aiSummary": "This auction features a lot of 4 Motorola APX 7500 radios, all of which were functional when removed from service. The current bid is $913 with 32 bids placed so far. The auction, hosted by the Clinton County Commissioners in Ohio, ends on August 14, 2026, at 6:00 AM EST.",
"aiExtract": {
"seller": "Clinton County Commissioners, OH",
"currentBid": "913 USD",
"auctionEnd": "August 14, 2026 06:00 AM EST",
"category": "Fire & Police Equipment",
"condition": "Used"
},
"source": "GovDeals",
"observedAt": "2026-08-14T06:31:42.119Z"
}

The most complete GovDeals surplus auctions scraper available. It returns every field a lot exposes (current bid, bid count, seller agency, category, make and model, exact location with coordinates, and full auction timing), lets you filter by keyword, category and state, and adds an optional AI summary and AI structured extract, so you get bid-ready listings without extra parsing.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor searches GovDeals government surplus auction listings for your keyword, applies your category and state filters, sorts by current bid if you choose, paginates through the matching lots, and writes one normalized record per lot to the run's dataset. Each record carries the current bid and bid count, seller agency, category, make, model, exact location with latitude and longitude, and the full auction timing (start, end, UTC end and time remaining). Missing source values are returned as null, never invented.

Two optional AI add-ons run only on paid Apify plans and only charge when they produce output: aiSummary writes a plain-language overview of the lot, and aiExtract returns structured fields for seller, current bid, auction end, category and condition.

Quickstart

Open the actor, paste this into the input, and press Run. It returns truck auctions with the AI summary and structured extract.

{
"keyword": "truck",
"maxAuctions": 10,
"sortByPrice": "default",
"withAiSummary": true,
"withAiExtract": true
}

Leave keyword empty to browse all current listings. Add category (for example Vehicles) or state (for example TX) to narrow the results.

Input reference

FieldTypeRequiredDefaultDescription
keywordstringnotruckWhat to search across GovDeals listings, for example excavator, laptop, trailer. Leave empty to browse all current listings.
maxAuctionsintegerno10Maximum auction lots to collect.
categorystringno(any)Keep only items whose category contains this text, for example Vehicles, Heavy Equipment, Computers.
statestringno(any)Keep only items in this US state. Two-letter code (for example TX, CA, FL) or full state name.
sortByPriceenumnodefaultOrder by current bid. One of default (best match), highest, lowest.
withAiSummarybooleannofalsePaid add-on. Adds a plain-language AI summary of each lot. Charged only when a summary is produced. Requires a paid plan.
withAiExtractbooleannofalsePaid add-on. Adds AI-extracted structured fields (seller, current bid, auction end, category, condition). Charged only on success. Requires a paid plan.

Output reference

One dataset item per auction lot. Types: string, number, boolean, object, or null when the source value is absent.

FieldTypeDescription
titlestringAuction lot title.
itemIdnumberGovDeals asset ID for the lot.
currentBidnumberCurrent highest bid amount.
bidPricenumberMinimum next bid increment or starting bid.
currencyCodestringCurrency of the bid amounts, for example USD.
numBidsnumberNumber of bids placed so far.
categorystringItem category name.
categoryCodestringGovDeals category code.
makeBrandstringManufacturer or brand, or null.
modelstringModel name, or null.
modelYearnumberModel year, or null.
sellerAgencystringGovernment agency or entity selling the lot.
sellerAccountIdnumberGovDeals seller account ID.
buyerGroupstringWho may bid, for example General Public.
locationAddressstringStreet address of the item location.
locationCitystringCity of the item location.
locationStatestringTwo-letter state code of the location.
stateDescriptionstringFull state name of the location.
locationZipstringPostal code of the location.
countrystringCountry of the location.
latitudenumberLatitude of the item location.
longitudenumberLongitude of the item location.
auctionStartDatestringAuction start timestamp (local).
auctionEndDatestringAuction end timestamp (local).
auctionEndDateUtcstringAuction end timestamp in UTC.
auctionEndDisplaystringHuman-readable auction end time with time zone.
timeRemainingstringTime left until close, formatted d:h:m:s.
auctionTypeIdnumberGovDeals auction type identifier.
hasReservePricebooleantrue if the lot has a reserve price.
isReserveNotMetbooleantrue if a reserve exists and has not been met.
isSoldAuctionbooleantrue if the lot has already sold.
quantitynumberQuantity in the lot, or null.
conditionstringStated condition, or null.
descriptionstringFull lot description (may contain HTML).
imageUrlstringPrimary photo URL of the lot.
listingUrlstringDirect GovDeals listing URL.
aiSummarystringAI plain-language summary of the lot (add-on), else absent.
aiExtractobjectAI-extracted structured fields (add-on), else absent.
sourcestringAlways GovDeals.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringPresent only on a failed run: a single item with a populated error field is written instead.

Example output record

Real record from a live run (input {"withAiSummary":true,"withAiExtract":true,"maxAuctions":3}):

{
"title": "Lot of 4 Motorola APX 7500 Radios",
"itemId": 204,
"currentBid": 913,
"numBids": 32,
"category": "Fire & Police Equipment",
"makeBrand": "Motorola",
"model": "APX 7500",
"sellerAgency": "Clinton County Commissioners, OH",
"locationCity": "Wilmington",
"locationState": "OH",
"locationZip": "45177-7148",
"latitude": 39.393157958984375,
"longitude": -83.86640930175781,
"auctionEndDisplay": "August 14, 2026 06:00 AM EST",
"timeRemaining": "0:3:29:3",
"isSoldAuction": false,
"imageUrl": "https://files.lqdt1.com/photos/3903/3903_204_984ff6af-0abc-446b-95e7-08d7ac9f16b2.jpg?cb=260731084613",
"listingUrl": "https://www.govdeals.com/asset/204/account/3903/auction/1",
"aiSummary": "This auction features a lot of 4 Motorola APX 7500 radios ... The auction, hosted by the Clinton County Commissioners in Ohio, ends on August 14, 2026, at 6:00 AM EST.",
"aiExtract": {"seller": "Clinton County Commissioners, OH", "currentBid": "913 USD", "auctionEnd": "August 14, 2026 06:00 AM EST", "category": "Fire & Police Equipment", "condition": "Used"},
"source": "GovDeals",
"observedAt": "2026-08-14T06:31:42.119Z"
}

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~govdeals-auctions-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"keyword":"excavator","state":"TX","maxAuctions":25,"sortByPrice":"highest"}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~govdeals-auctions-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"keyword":"laptop","category":"Computers","maxAuctions":100}'

Apify CLI:

apify call scrapers_lat/govdeals-auctions-scraper \
--input '{"keyword":"trailer","maxAuctions":50}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "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. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per auction lot returned (result event). See the pricing tab for the current per-result price.
  • Add-ons. The AI summary and AI structured extract are priced separately and charge only when they produce output.
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 lots per run. Upgrade for higher maxAuctions.

FAQ and troubleshooting

A run returned 0 lots. Why? The keyword and filters matched nothing currently listed. Broaden the keyword, or remove the category or state filter. Zero-result runs are not charged.

How do I find the highest-value auctions? Set sortByPrice to highest. Combine with a keyword and optional state.

Why is condition or modelYear null? The seller did not provide that value on the listing. Missing source values are returned as null, never invented. The aiExtract add-on can infer a likely condition from the description.

Can I limit to one state? Yes. Set state to a two-letter code (for example TX) or the full state name.

Why did the AI fields not appear? The AI add-ons require a paid Apify plan and are off by default. Enable withAiSummary or withAiExtract on a paid plan. They charge only when output is produced.

Is this an official GovDeals tool? No. This actor is independent and not affiliated with GovDeals or Liquidity Services. It reads only publicly available auction listings.

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 GovDeals or Liquidity Services. Accesses only publicly available auction listings.