Ireland eTenders Opportunities Scraper
Pricing
Pay per event
Ireland eTenders Opportunities Scraper
Discover current Irish public procurement Calls for Tenders from the official eTenders portal, with qualification fields, pagination, filters, and source links.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 days ago
Last modified
Categories
Share
Discover current Irish public procurement opportunities from the official eTenders portal.
The Actor turns the public Calls for Tenders (CfT) listing into structured records for bid discovery, qualification, alerts, spreadsheets, databases, and procurement-intelligence feeds.
It runs with anonymous HTTP requests and does not require an eTenders account, a browser, or a proxy.
What does Ireland eTenders Opportunities Scraper do?
The Actor scans the official current-opportunities listing and saves one dataset item for every accepted Call for Tenders.
It can:
- follow the portal's paginated current-CfT results;
- stop at a user-selected record or page limit;
- filter by keyword, contracting authority, displayed status, publication date, and submission deadline;
- process a public eTenders CfT resource URL directly;
- deduplicate records by the stable eTenders CfT resource ID;
- return notice-PDF and source links for verification;
- retry bounded transient website failures without hiding terminal errors.
The Actor does not submit tenders, log into supplier accounts, or download restricted tender documents.
Who is it for?
Suppliers and bid teams can build a daily feed of newly published opportunities and review deadlines prior to deciding which bids to pursue.
Business-development consultants can monitor opportunities for a client sector or a named public authority.
Procurement-intelligence teams can ingest stable structured records instead of repeatedly copying a legacy HTML table.
Data and automation teams can send results to Google Sheets, Airtable, a CRM, a warehouse, Slack, or email through Apify integrations and webhooks.
Why use this Actor?
The source is the official Ireland eTenders portal rather than a general web-search index.
Important qualification fields are returned together, including the authority, description, procedure, deadline, status, public notice link, and estimated value when the portal publishes them.
Only accepted records are charged and saved. Duplicate CfT IDs within one run are not emitted twice.
The implementation is HTTP-first, so it avoids browser overhead while retaining links back to each official record.
What Ireland eTenders data can I extract?
| Field | Meaning |
|---|---|
cftId | Official eTenders CfT resource identifier |
title | Call for Tenders title |
authority | Publishing contracting authority |
description | Public opportunity description when available |
publishedAt | Publication date/time as displayed in Irish local time |
submissionDeadline | Submission deadline as displayed in Irish local time |
procedure | Procurement procedure, such as Open |
status | Current status displayed in the listing |
noticePdfUrl | Public contract-notice PDF link when present |
awardDate | Displayed award date, usually null for open opportunities |
estimatedValueEur | Published estimated value parsed as a number |
cycle | eTenders cycle number when shown |
detailUrl | Canonical official CfT detail URL |
sourceUrl | Exact listing or detail page used |
pageNumber | Listing page number, or null for a direct detail URL |
scrapedAt | Normalized ISO 8601 UTC extraction timestamp |
Source dates remain in the portal's DD/MM/YYYY display format so no Irish local-time assumption is lost.
How to scrape current Ireland eTenders opportunities
- Open the Actor in Apify Console.
- Leave eTenders URLs at its official current-opportunities prefill, or remove it to use the same default automatically.
- Set Maximum opportunities to the number of accepted records you need.
- Optionally add a keyword, authority, status, or date window.
- Set Maximum listing pages high enough for selective filters.
- Click Start.
- Open the Tender opportunities dataset view.
- Export JSON, CSV, Excel, XML, or connect an integration.
A quick broad run:
{"maxItems": 20,"maxPages": 5}
Input parameters
startUrls
Optional official www.etenders.gov.ie current-opportunities listing URLs or public prepareViewCfTWS.do?resourceId=... URLs.
Leave the field empty to scan the current Calls for Tenders listing.
Unsupported domains and paths fail closed instead of being fetched.
keyword
Case-insensitive text matched against the CfT ID, title, and description.
Example: services.
authority
Case-insensitive substring matched against the contracting authority.
Example: University of Galway.
status
Case-insensitive substring matched against the displayed status.
Example: Tender Submission.
Publication and deadline filters
publishedFrom, publishedTo, deadlineFrom, and deadlineTo use inclusive YYYY-MM-DD dates.
Records without the date needed by an active date filter do not match that filter.
Pagination controls
startPage selects the first listing page.
maxPages bounds how many 10-record listing pages are fetched per listing source.
maxItems bounds how many accepted records are saved across all sources.
Output example
The following shape reflects a real current listing record, shortened only in its description:
{"cftId": "8724059","title": "GALW/COSE1847/26 Conducting technical and pre-clinical research and development of a novel cardiovascular medical device.","authority": "University of Galway (ID 1400)","description": "The University of Galway are developing a novel technology...","publishedAt": "28/07/2026 03:12:20","submissionDeadline": "25/08/2026 12:00:00","procedure": "Open","status": "Tender Submission","noticePdfUrl": "https://www.etenders.gov.ie/epps/cft/downloadNoticeForAdvSearch.do?resourceId=8724059","awardDate": null,"estimatedValueEur": 350000,"cycle": 1,"detailUrl": "https://www.etenders.gov.ie/epps/cft/prepareViewCfTWS.do?resourceId=8724059","sourceUrl": "https://www.etenders.gov.ie/epps/quickSearchAction.do?searchType=cftFTS&latest=true&d-3680175-p=1","pageNumber": 1,"scrapedAt": "2026-07-28T07:31:17.099Z"}
Fields can be null when the portal does not publish them.
A direct detail URL provides only fields available on that detail page. Listing-only values such as publication time, status, award date, and cycle can therefore be null.
How much does it cost to scrape Ireland eTenders opportunities?
This Actor uses pay-per-event pricing:
- $0.005 once per run;
- a tiered
itemevent charge for each accepted dataset item produced; - rejected, duplicate, failed, and filtered-out records have no item event charge.
| Pricing tier | Price per opportunity |
|---|---|
| FREE | $0.000041071 |
| BRONZE | $0.000035714 |
| SILVER | $0.000027857 |
| GOLD | $0.000021429 |
| PLATINUM | $0.000014286 |
| DIAMOND | $0.000010000 |
At the FREE tier, 20 records cost about $0.00582 including the run fee.
At the FREE tier, 100 records cost about $0.00911 including the run fee.
At the BRONZE tier, 1,000 records cost about $0.04071 including the run fee.
The final total is shown in Apify Console prior to export. Platform plan and integration costs, if any, are separate.
Monitoring and integration workflows
Daily bid alerts
Schedule the Actor once per day with a sector keyword and a deadline lower bound.
Use a webhook or Zapier/Make integration to notify a bid channel when a new CfT ID appears.
Contracting-authority watchlist
Create separate tasks for authorities important to your sales territory.
Send each dataset to a dedicated Sheet or CRM view.
Procurement data feed
Fetch dataset items through the Apify API after each run.
Use cftId as the external deduplication key in your warehouse.
Qualification queue
Filter for active tender-submission records, then sort downstream by submissionDeadline or estimatedValueEur.
Always verify final requirements and dates on detailUrl prior to acting.
Use the Actor with the Apify API
Replace <APIFY_TOKEN> with your token.
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~ireland-etenders-opportunities-scraper/runs?token=<APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"keyword":"services","status":"Tender Submission","maxItems":50,"maxPages":20}'
To wait for completion and receive dataset items:
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~ireland-etenders-opportunities-scraper/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"authority":"University of Galway","maxItems":20,"maxPages":20}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/ireland-etenders-opportunities-scraper').call({keyword: 'services',status: 'Tender Submission',maxItems: 50,maxPages: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("automation-lab/ireland-etenders-opportunities-scraper").call(run_input={"keyword": "services","status": "Tender Submission","maxItems": 50,"maxPages": 20,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Use Ireland eTenders data through MCP
Add the Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/ireland-etenders-opportunities-scraper"
Claude Desktop, Cursor, and VS Code
Use this JSON configuration in Claude Desktop, Cursor, or VS Code:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/ireland-etenders-opportunities-scraper"}}}
Example prompts:
- “Find current Irish public tenders mentioning professional services.”
- “Collect active University of Galway Calls for Tenders and summarize their deadlines.”
- “Create a table of Irish tender title, authority, estimated value, deadline, and official source URL.”
MCP calls use the same Actor input, output, and pricing contract as Console runs.
Tips for reliable results
Start with a broad, low maxItems run to inspect current wording used by the portal.
Increase maxPages when a selective filter may match records beyond the first few pages.
Use one simple keyword or authority substring rather than a long sentence.
For incremental monitoring, deduplicate downstream on cftId and retain scrapedAt as observation time.
Keep the official detailUrl and noticePdfUrl in downstream records for auditability.
Limits and source behavior
The Actor reads the portal's public current-CfT surfaces; it does not guarantee that every historical or restricted procurement record is present there.
The listing currently exposes 10 rows per page. Portal pagination or markup can change.
The website can temporarily return network errors, 403, 429, or 5xx responses. The Actor retries those responses a bounded number of times and fails if recovery does not occur.
A successful no-result run is possible when filters are narrower than the current public data.
Direct detail inputs have fewer listing-specific fields.
The Actor deliberately does not offer an automatic residential proxy fallback, so there is no unmeasured proxy mode or proxy transfer charge.
Responsible use and legality
This Actor accesses publicly visible procurement information.
You are responsible for complying with eTenders terms, procurement rules, applicable law, database rights, and your organization's data-retention policy.
Do not use the Actor to overload the portal, bypass authentication, misrepresent tender information, or automate prohibited submissions.
Public procurement records can change after extraction. Confirm dates, eligibility, documents, clarifications, and submission instructions on the official source prior to making a commercial decision.
Troubleshooting
Why did my run return no records?
Remove filters and run with maxItems: 10 and maxPages: 2.
If broad discovery returns records, restore filters one at a time. Remember that date filters are inclusive and use YYYY-MM-DD.
Why are fields null for my direct URL?
The public detail page does not repeat every value from the current-opportunities listing. Use a listing input when you need publication time, status, award date, or cycle.
Why did the run fail after retries?
Inspect the run log for the URL and HTTP status. A continuing 403, 429, 5xx, unexpected content type, or changed table shape is treated as an error rather than a misleading empty result.
Retry later if the official portal was unavailable. Contact Actor support with the run link if a broad official listing still fails.
Can I use arbitrary URLs?
No. The Actor accepts only supported public www.etenders.gov.ie listing and CfT detail paths.
Related Automation Labs actors
- Singapore GeBIZ Tender Opportunities Scraper for Singapore public-sector opportunities.
- AusTender Current Tender Opportunities Scraper for Australian Government opportunities.
- CanadaBuys Tender Opportunities Scraper for Canadian public procurement.
- UK Find a Tender Scraper for UK procurement notices.
- TED Europa Tenders Scraper for EU-wide TED notices.
Choose this Actor when Ireland's official eTenders CfT source is the required market.
FAQ
Does it require an eTenders login?
No. Version 0.1 uses anonymous public listing and detail pages.
Does it use a browser or proxy?
No. It uses lightweight HTTP requests and HTML parsing.
Can it paginate beyond the first page?
Yes. Set startPage, maxPages, and maxItems for the desired bounded scan.
Are filtered-out opportunities charged?
No item event is charged for filtered, duplicate, rejected, or failed records. The one-time run-start event still applies.
Are source dates converted to UTC?
No. publishedAt and submissionDeadline preserve the Irish portal display values. Only scrapedAt is normalized to ISO 8601 UTC.
Does it submit or manage bids?
No. It is a discovery and extraction Actor. Tender submission remains on the official procurement workflow.