GSA eLibrary Scraper - Government Contractors & B2B Leads avatar

GSA eLibrary Scraper - Government Contractors & B2B Leads

Pricing

from $4.00 / 1,000 contractor scraped (basic)s

Go to Apify Store
GSA eLibrary Scraper - Government Contractors & B2B Leads

GSA eLibrary Scraper - Government Contractors & B2B Leads

Scrape GSA eLibrary Schedule contractors by SIN, category or keyword: name, phone, email, website, address, SAM UEI, NAICS, set-aside status, contracts & a lead score. Filter by state & set-aside type. Monitor mode returns only new contractors. No login, no browser.

Pricing

from $4.00 / 1,000 contractor scraped (basic)s

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

GSA eLibrary Scraper — Government Contractors, Schedules & B2B Leads

Extract complete GSA Schedule contractor data from GSA eLibrary — the official catalog of every company holding a GSA Multiple Award Schedule (MAS) contract. Pull business email, phone, website, full address, SAM UEI, NAICS codes, set-aside / socio-economic status, every contract with SINs and end dates, GSA Advantage catalog links and the government POC — then turn each contractor into a ready-to-contact B2B lead with a 0–100 lead score.

Browse by category (SIN), search by keyword, or look up specific contract numbers. Filter by state and set-aside type (small business, SDVOSB, WOSB, 8(a), HUBZone). Monitor mode returns only newly awarded contractors.

No login, no API key, no browser — fast server-side extraction.

Why this GSA eLibrary scraper?

GSA eLibrary lists hundreds of thousands of government contractors, but its pages are built for humans, not pipelines — and most scrapers stop at the name and contract number. This actor ships the richest contractor record in the category:

DataTypical scrapersThis actor
Company name + contract number
Phone, city & statepartial
Business email
Website
Full street address + ZIP
SAM UEI (links to SAM.gov)
NAICS codes
Spelled-out set-aside / socio-economic statuspartial
Every contract: schedule, SINs, option & ultimate end dates
GSA Advantage catalog + price list links
Government POC (name, phone, email)
State + set-aside filters
Website-crawled extra emails / phones / socials✅ opt-in
Lead score (0–100)
Monitor mode (only new contractors)

Use cases

  • B2B lead generation — GSA Schedule holders are funded, vetted federal sellers who buy software, subcontracting, staffing, compliance, insurance, financing and marketing. Filter by category, state and set-aside, then reach them directly with email, phone and website.
  • Government market research — map every contractor under a SIN, see which schedules and categories they hold, and size up the competition before bidding.
  • Teaming & subcontracting — find prime contractors and set-aside partners (SDVOSB, WOSB, 8(a), HUBZone) by capability and location for joint bids.
  • Sales prospecting for GovCon vendors — sell to companies that already do business with the federal government; enrich with SAM UEI to join against SAM.gov and USAspending award data.
  • Competitive & supply-chain intelligence — track who wins new GSA contracts in your category over time with monitor mode.
  • CRM enrichment — append UEI, NAICS, set-aside status and contract end dates to existing GovCon account lists.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the GSA eLibrary Scraper, enter a keyword (or a SIN code), optionally set state/set-aside filters, and click Start.
  3. Watch contractor leads stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.

Input

{
"searchQueries": ["cybersecurity"],
"states": ["VA", "MD"],
"socioEconomic": ["serviceDisabledVeteranOwned"],
"includeContractorDetails": true,
"enrichContactEmails": false,
"maxResults": 200
}
  • searchQueries — keywords (e.g. cybersecurity, janitorial, office furniture). The actor finds the matching categories (SINs), pulls the contractors awarded under them, and adds any contractor whose name matches.
  • sins — exact GSA Special Item Numbers to browse, e.g. 54151S (IT Professional Services), 561210FAC (Facilities Maintenance), 518210C (Cloud). Returns every contractor under each SIN.
  • schedule (default MAS) — the GSA Schedule your SINs belong to. Almost everything is under the consolidated Multiple Award Schedule (MAS).
  • contractNumbers — look up specific contractors. Use CONTRACT#|Exact Contractor Name for reliable results.
  • startUrls — paste GSA eLibrary URLs (contractor, category/SIN, schedule, or search pages) — auto-routed.
  • states — keep only contractors in these US states (2-letter codes, e.g. TX, VA, DC).
  • socioEconomic — keep only smallBusiness, womenOwned, veteranOwned, serviceDisabledVeteranOwned, eightA, hubZone, disadvantaged or tribalNativeOwned firms.
  • includeContractorDetails (default true) — open each contractor's profile for email, website, full address, SAM UEI, NAICS, set-aside certifications, all contracts/SINs/dates, catalog links and the government POC.
  • enrichContactEmails (default false) — crawl each contractor's own website (home + contact/about, max 3 pages) for extra emails, phones and socials.
  • maxResults / maxContractorsPerSin / maxSinsPerQuery — keep runs bounded (large IT/services SINs list thousands).
  • deduplicateContractors (default true) — output each contractor once, even across multiple SINs/searches.
  • monitorMode (default false) + monitorKey — remember contractors from past runs and output only NEW ones.

Output

One record per contractor (type: "contractor"):

{
"type": "contractor",
"contractorName": "1 SOURCE CONSULTING, INC.",
"primaryContractNumber": "47QTCA19D00AQ",
"contractNumbers": ["47QTCA19D00AQ", "47QRCA24DV172"],
"phone": "(202) 856-3899",
"email": "kimberly.logan@go-bti.com",
"website": "https://go-bti.com/",
"street": "9500 MEDICAL CENTER DR STE 340",
"city": "UPPER MARLBORO",
"state": "MD",
"zip": "20774-3727",
"samUei": "EXEYN7TNGWH7",
"naics": ["541511"],
"socioEconomic": [
"Small Business",
"Service Disabled Veteran Owned Small Business",
"SBA Certified Veteran Owned Small Business",
"SBA Certified Service-Disabled Veteran Owned Small Business",
"SBA Certified Small Disadvantaged Business"
],
"isSmallBusiness": true,
"isVeteranOwned": true,
"isServiceDisabledVeteranOwned": true,
"is8a": false,
"isHubZone": false,
"schedules": ["MAS", "OASIS+VO"],
"sins": ["54151S", "541611", "OLM"],
"contracts": [
{
"schedule": "MAS",
"scheduleTitle": "Multiple Award Schedule",
"contractNumber": "47QTCA19D00AQ",
"sins": ["54151S", "541611", "OLM"],
"currentOptionEndDate": "Apr 25, 2029",
"ultimateEndDate": "Apr 25, 2039",
"catalogUrl": "https://www.gsaelibrary.gsa.gov/ElibMain/advRedirect.do?contract=47QTCA19D00AQ&sin=54151S&src=elib&app=cat"
}
],
"currentOptionPeriodEndDate": "Apr 25, 2029",
"ultimateContractEndDate": "Apr 25, 2039",
"govtPoc": { "name": "Dat Thai", "phone": "(714) 945-4414", "email": "dat.thai@gsa.gov" },
"sellsToStateLocal": true,
"sourceSin": "54151S",
"sourceQuery": "cybersecurity",
"leadScore": 92,
"contractorUrl": "https://www.gsaelibrary.gsa.gov/ElibMain/contractorInfo.do?contractNumber=47QTCA19D00AQ&contractorName=1+SOURCE+CONSULTING%2C+INC.&executeQuery=YES",
"scrapedAt": "2026-06-19T12:00:00.000Z"
}

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

  • Apify API — start runs, fetch datasets, and manage schedules over REST.
  • apify-client for JavaScript and apify-client for Python — official SDKs.
  • Schedules — run it daily/weekly with monitorMode on to capture newly awarded GSA contractors in your category as they appear.
  • Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/gsa-elibrary-scraper').call({
searchQueries: ['cloud computing'],
states: ['VA'],
socioEconomic: ['smallBusiness'],
maxResults: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} GSA contractor leads`);

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new contractor leads straight into your CRM.
  • Slack — get notified when a monitored category gets a new contractor.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find service-disabled-veteran-owned cybersecurity contractors in Virginia and list their contacts" and let it run this scraper for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
  • Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

More scrapers from scrapesage

Build a complete government & B2B data stack:

Tips

  • Find SIN codes: search a keyword first — the log lists the matching categories (SINs), which you can then pass to sins for full coverage.
  • Large categories: SINs like 54151S (IT services) list thousands of contractors. Use states, socioEconomic and maxContractorsPerSin to keep runs targeted and cheap.
  • Set-aside filtering is most accurate with includeContractorDetails on (default) — it reads the spelled-out certifications from each profile.
  • Recurring monitoring: combine Schedules with monitorMode to get a clean feed of only newly awarded contractors.
  • Cost control: turn includeContractorDetails off for a fast, cheap list (name, contract #, phone, city/state, set-aside codes); turn it on for full leads with email and website.

FAQ

What is GSA eLibrary? It's the U.S. General Services Administration's official online source for GSA and VA Schedule contract information — the catalog of companies pre-approved to sell goods and services to the federal government.

Where do the emails come from? GSA eLibrary publishes a contractor contact email on each contractor profile — this actor returns it directly. With enrichContactEmails on, it also visits the contractor's own website for additional public contact emails.

What is a SIN? A Special Item Number is GSA's category code for a type of product or service (e.g. 54151S = IT Professional Services). Contractors are awarded one or more SINs; browsing a SIN returns every contractor in that category.

Can I get only small-business / SDVOSB / 8(a) contractors? Yes — set socioEconomic to the set-aside types you want. Combine with states to target a region.

Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.

How do I monitor newly awarded contractors? Turn on monitorMode, then create a Schedule (e.g. weekly). Each run outputs only contractors not seen before.

Is scraping GSA eLibrary legal? GSA eLibrary is public U.S. government data. You are responsible for using the data in compliance with applicable laws and GSA's terms.

A field is null — why? Some contractors genuinely don't publish a website, or a profile omits a field. Fields are null only when the data doesn't exist, not because the scraper skipped them.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.