ssh.autos

Catalog / Tenders & public contracts

TENDERS & PUBLIC CONTRACTS · INDIA

India State e-Tenders (GePNIC & CPPP)

Open government tenders from India's state e-procurement portals (UP, Kerala, Tamil Nadu, MP, Maharashtra and more) and CPPP: buyer, dates in India time, value, EMD, fees, category and…

PER CALL · X402 / MPP From $0.01 per call 1 endpoint at api.ssh.autos. Pay in USDC, no account. See the endpoint
APIFY STORE Public actor Run it with your Apify account: bulk runs, schedules and exports. Open on Apify

About this data

Open government tenders from India's state e-procurement portals (UP, Kerala, Tamil Nadu, MP, Maharashtra and more) and CPPP: buyer, dates in India time, value, EMD, fees, category and document names. Filter by organisation, keyword, value and date.

From the actor’s Apify Store listing. The per-call endpoint may return a bounded subset; its own description is below.

Buy per call over x402

One endpoint at api.ssh.autos. Each call is one JSON POST, paid in USDC with no account or API key, and answered in the same HTTP response.

India State e-Tenders (GePNIC)

POST /v1/in/gepnic/tenders

Open government tenders from one Indian state e-procurement portal (GePNIC): buyer, dates, value and category.

PRICE$0.01 per call, in USDC
RESULTUp to 10 per call
PAYMENTx402 or MPP · no account

Input

Send a JSON body to POST https://api.ssh.autos/v1/in/gepnic/tenders.

FieldTypeRequiredNotes
keywordsarray of stringsoptionalup to 10 items
maxItemsintegeroptional1–10; default 5
portalsarray of stringsoptionalexactly 1 item; default ["maharashtra"]

Returned fields

The answer is JSON: records, a list of up to 10, and summary, the run status and counts. Each record has these 39 fields; a field the source does not publish comes back null.

39 fields per record
FieldTypeNotes
tenderIdstringTender ID on the portal, e.g. 2026_NNAMC_1203798_1. One row per tender.
tenderReferencestringThe buyer's own tender reference number, e.g. 33/CE/18/DA/2026.
buyerobjectBuying public organisation.
organisationChainarray of stringsFull organisation chain, top level first.
countrystringAlways IN.
regionstringIndian state of the portal; null for the central portal (CPPP).
portalstringPortal key, e.g. uttarPradesh or central.
portalNamestringPortal name, e.g. Uttar Pradesh.
publishedAtstringWhen the tender was published (ISO 8601, India time +05:30).
deadlinestringBid submission closing date and time (ISO 8601, +05:30).
bidOpeningAtstringTender opening date and time (ISO 8601, +05:30).
procurementMethodstringTender type, e.g. Open Tender, Limited, Global Tenders. Details only.
tenderCategorystringWorks, Goods or Services. Details only.
formOfContractstringForm of contract, e.g. Item Rate, Percentage, Lump-sum. Details only.
primaryProductCategorystringThe portal's product category, e.g. Civil Works, Electrical Works, Consultancy. Details only.
productSubCategorystringThe portal's product sub-category, when given. Details only.
estimatedBidValuenumberPublished tender value in rupees; null when the buyer did not publish one. Details only.
emdAmountnumberEarnest money deposit (EMD) in rupees. Details only.
tenderFeenumberTender document fee in rupees. Details only.
processingFeenumberProcessing fee in rupees, when charged. Details only.
bidSubmissionStartAtstringBid submission start (ISO 8601, +05:30). Details only.
documentDownloadEndAtstringLast date to download the tender documents (ISO 8601, +05:30). Details only.
offerValidityDaysintegerBid validity in days. Details only.
periodOfWorkDaysintegerPeriod of work in days. Details only.
locationstringWork location as given by the buyer. Details only.
pincodestring6-digit PIN code of the work location. Details only.
descriptionExcerptstringWork description as published, up to 600 characters; null when empty. Details only.
documentsarray of objectsTender documents listed on the tender page (names, type and size only; downloading them needs the portal's captcha). Details only, otherwise empty.
corrigendumCountintegerNumber of corrigenda (amendments) listed on the tender page. Details only.
currencystringAlways INR.
statusstringopen while the bid submission deadline is in the future.
one of open, closed
isOpenForBidsbooleanTrue while bids can still be submitted.
daysUntilDeadlineintegerWhole days from today (India time) to the deadline; 0 when it closes today.
urlstringThe portal's official Tenders by Organisation page, where the tender is listed under its organisation; search the tender ID there.
detailsParsedbooleanTrue when the tender page was read and its fields filled.
detailsErrorstringWhy the tender page could not be read for this row; null otherwise.
sourceQuerystringSummary of the search that found the row.
sourcestringAlways GePNIC (NIC e-procurement).
scrapedAtstringWhen the row was saved (ISO 8601, UTC).

Example call

TERMINAL · $0.01 PER RUN
npx agentcash@latest fetch https://api.ssh.autos/v1/in/gepnic/tenders -m POST -b '{"maxItems": 3}'

The example values come from the API spec or the actor’s own sample input. Running it is a paid call.

What is and isn’t charged

Free

  • Invalid input (422), busy (503), source failure (502), timeout (504) and calls whose client hung up are never charged.
  • Invalid input and source failures are not charged.

Prefer a subscription? Run it on Apify

This data source is a public actor on the Apify Store: India State e-Tenders Scraper (GePNIC & CPPP). Run it with your Apify account and plan for larger, scheduled or exported runs; it may offer more input options than the per-call endpoint.

Open on Apify

How x402 payment works

  1. Your client sends the request. The API answers 402 Payment Required with the price and where to pay.
  2. The client pays from its own wallet: USDC on Base or Solana over x402, or over MPP on Tempo. No account, sign-up or API key.
  3. The client retries with the payment attached and gets the JSON answer in the same call. You are only charged for answers.

The AgentCash CLI in the example does all three steps for you and pays from your AgentCash wallet. Any x402 or MPP client works the same way.

Machine-readable: openapi.json · llms.txt

Some links to Apify are affiliate links. We may earn a commission if you sign up and become a paying customer.