🇮🇳 India Government Tenders — GeM & CPPP
Pricing
from $50.00 / 1,000 tender records
🇮🇳 India Government Tenders — GeM & CPPP
India government tenders from CPPP eProcurement (incl. GeM) — title, organisation, value, dates, bid links. Watch mode for new tenders.
Pricing
from $50.00 / 1,000 tender records
Rating
0.0
(0)
Developer
NexGenData
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
🇮🇳 India Government Tenders — GeM & CPPP eProcurement Scraper
Live central and state government tenders from India's CPPP eProcurement portal (eprocure.gov.in) — the government-run aggregator that carries the same central/state tenders as the departmental portals and a dedicated GeM (Government e-Marketplace) bids slice. Every row comes back as a clean tender record with a decoded tender id, the organisation, published / closing / opening dates, corrigendum status, and a working detail URL. Built for contractors, bid-management teams, GovTech products, and AI agents that need structured Indian public-procurement data without driving a JavaScript portal.
Public procurement data, provided as-is for information purposes. Not affiliated with GeM, CPPP, NIC, or any government body.
📊 What you get
One record per tender (source chooses the slice):
tender_id— decoded numeric tender id (base64-decoded from the detail path; a stable GeM hash on the GeM slice)tender_ref_no— the tender reference / GeM bid numbertitle— tender title / product categoryorganisation— issuing organisation (e.g. "Central Public Works Department (CPWD)")published_date— e-published / bid-start dateclosing_date— bid submission closing / bid-end dateopening_date— tender opening date (central/state slice)corrigendum— corrigendum indicatordepartment— department name (GeM slice)detail_url— absolute link to the full tender page oneprocure.gov.intender_value— tender value (null in this fast listing path; on the detail page)source,scraped_at
Source slices
source | Slice | Feed |
|---|---|---|
all (default) | All active central + state tenders | /cppp/latestactivetendersnew |
gem | GeM-branded bids | /cppp/gemtender |
💵 Pricing
Pay-per-result, no subscription:
| Event | Price |
|---|---|
| Actor start | $0.01 |
| Tender record | $0.05 each |
| Watch-check (per scheduled watch run) | $0.05 |
About 20 tenders per $1.
Worked example: a pull of 50 active tenders = 1 start ($0.01) + 50 records ($2.50) = $2.51. A daily watch run that finds 4 new tenders = $0.05 watch-check + 4 × $0.05 = $0.25.
🧾 Sample output
{"tender_id": "13956863","tender_ref_no": "1000460298","title": "PROCUREMENT OF PIPE FITTINGS FOR 131P137 SUCTION PIPING AT BPCL MUMBAI REFINERY","organisation": "Bharat Petroleum Corporation Limited","published_date": "17-Jul-2026 08:23 PM","closing_date": "24-Jul-2026 02:00 PM","opening_date": "24-Jul-2026 02:01 PM","corrigendum": null,"department": null,"detail_url": "https://eprocure.gov.in/cppp/tendersfullview/MTM5NTY4NjM=A13h1...","tender_value": null,"source": "all","scraped_at": "2026-07-17T20:30:00Z"}
⏰ Watch mode — new-tender alerts
Turn on watchMode and put the actor on a schedule. The first run seeds a baseline and emits nothing; every later run emits only new tenders since the last run (keyed on tender_id). Perfect for a standing "new CPWD / GeM tenders in my category" feed into Slack, a sheet, or an agent.
{ "source": "all", "keyword": "road", "watchMode": true, "watchLabel": "highway-tenders" }
🤖 Use with AI agents
Returns clean JSON, so an agent can call it directly. Example task: "Pull today's active CPWD tenders closing this month and summarize the ones over ₹1 crore." Works with MCP tool-calling and agentic (x402) payment flows — no API key required.
API
curl -X POST "https://api.apify.com/v2/acts/nexgendata~gem-tenders-india/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"source":"all","keyword":"software","maxResults":25}'
CLI
$apify call nexgendata/gem-tenders-india --input '{"source":"gem","maxResults":100}'
🔗 Related NexGenData actors
- singapore-gebiz-tenders — the same government-tender play for Singapore's GeBIZ (APAC sibling).
- India Six — the India public-data suite:
- nse-bse-announcements — NSE/BSE corporate announcements & filings.
- mca-company-registry — India company master data (CIN, directors, capital, status).
- india-startup-funding-tracker — India startup funding rounds.
- india-trademark-search — Indian trademark records.
- india-gst-verification — GSTIN verification & taxpayer details.
- india-court-cases — Indian court case records.
❓ FAQ
Where does the data come from? India's CPPP eProcurement portal (eprocure.gov.in), run by NIC — the central aggregator of government tenders, which includes a GeM-bids slice. To be clear: this is sourced from CPPP eProcurement (which carries GeM bids), not scraped from GeM's own portal (gem.gov.in) directly.
Why CPPP instead of GeM directly? GeM's own portal is browser/CSRF-gated and resets connections from datacenters. CPPP serves the same tenders as server-rendered HTML that is reachable reliably, so you get stable structured data.
How fresh is it? Real-time — tenders appear as CPPP publishes them; published_date is on every record.
Does a blocked source bill me? No. If CPPP is unreachable the run fails loud and charges nothing — you never pay for an empty "success". Reaching the end of the tender list is a clean empty result, not a failure.
Can I filter? Use the keyword filter (matched against title + organisation) and the source slice; maxResults caps the pull.
Data sourced from public CPPP eProcurement (eprocure.gov.in) government-tender listings, which include GeM bids. This actor is not affiliated with or endorsed by GeM, CPPP, NIC, or any government body. Public procurement data, provided as-is.