Railway Technology APIrailway-technology.com ↗
Access railway industry news, infrastructure projects, and company profiles from railway-technology.com via 9 structured endpoints covering sectors, themes, and more.
What is the Railway Technology API?
The railway-technology.com API provides structured access to 9 endpoints covering global railway industry news, infrastructure projects, and company profiles. Use get_latest_news to retrieve paginated article listings with titles, URLs, summaries, and dates, or drill into full article text, author, and publication date with get_news_article. Projects and companies are accessible via dedicated list and detail endpoints, enabling research across the global rail sector.
curl -X GET 'https://api.parse.bot/scraper/6b604e5a-a675-4461-a013-7ceaea916c12/get_latest_news?page=1' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace railway-technology-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Railway Technology API — browse news, projects, and companies."""
from parse_apis.railway_technology_api import (
RailwayTechnology, Sector, Theme, ResourceNotFound
)
client = RailwayTechnology()
# Browse latest news across the railway industry, capped at 5 items.
for article in client.newsfeeds.latest(limit=5):
print(article.title, article.url)
# Filter news by sector using the Sector enum.
for article in client.newsfeeds.by_sector(sector_slug=Sector.HIGH_SPEED_RAILWAYS, limit=3):
print(article.title, article.summary)
# Filter news by theme using the Theme enum.
ai_article = client.newsfeeds.by_theme(theme_slug=Theme.ARTIFICIAL_INTELLIGENCE, limit=1).first()
if ai_article:
# Drill into the full article detail via the articledetails collection.
detail = client.articledetails.get(url=ai_article.url)
print(detail.title, detail.author, detail.date)
# List projects and drill into one for full description.
project = client.projectdirectories.list(limit=1).first()
if project:
try:
info = project.details()
print(info.name, info.description[:120])
except ResourceNotFound as exc:
print(f"Project gone: {exc.url}")
# List companies and fetch a profile.
company = client.companydirectories.list(limit=1).first()
if company:
prof = company.profile()
print(prof.name, prof.about, prof.website)
print("exercised: newsfeeds.latest / by_sector / by_theme / articledetails.get / projectdirectories.list / project.details / companydirectories.list / company.profile")
Retrieve the latest news articles from the railway-technology.com news feed. Returns paginated results with article titles, URLs, summaries, and dates. Each page returns up to ~38 articles. Summaries and dates may be null for some articles depending on page structure.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
{
"type": "object",
"fields": {
"page": "string indicating the current page number",
"articles": "array of article objects with title, url, summary (nullable), and date (nullable) fields"
},
"sample": {
"data": {
"page": "1",
"articles": [
{
"url": "https://www.railway-technology.com/news/vinspeed-siemens-mobility-vietnam-rail-project/",
"date": null,
"title": "VinSpeed teams up with Siemens Mobility for Vietnam high-speed rail project",
"summary": "VinSpeed High-Speed Railway Investment and Development Joint Stock Company, which is part of Vingroup, is joining forces with Siemens Mobility…"
},
{
"url": "https://www.railway-technology.com/news/alstom-melbournes-suburban-rail-loop-east-project/",
"date": null,
"title": "Alstom wins €1bn role in Melbourne’s Suburban Rail Loop East project",
"summary": null
}
]
},
"status": "success"
}
}About the Railway Technology API
News and Search
The API exposes four news-related endpoints. get_latest_news returns paginated arrays of articles, each with title, url, summary, and date fields. get_news_article accepts a full article URL and returns the complete body text, author, date, and title. For discovery, search_news accepts any keyword or phrase via the query parameter and returns matching articles, projects, and companies with titles, URLs, summaries, and dates across the full site index.
Sector and Theme Filtering
get_news_by_sector filters articles by a sector_slug — verified working values include high-speed-railways, rolling-stock, and operations — and returns paginated results in the same article array format. get_news_by_theme works similarly but targets editorial themes such as artificial-intelligence, cybersecurity, cloud, robotics, and internet-of-things. Both endpoints accept an optional page integer for pagination and return the active sector or theme slug alongside the article array.
Projects and Companies
list_projects returns an array of global railway infrastructure project objects, each with a name and url. Optional region (e.g. europe) and sort (e.g. alphabetical) parameters filter and order results. get_project_details accepts a project URL and returns the name and full description text. On the company side, list_companies returns the A–Z directory as an array of name and url objects, and get_company_profile fetches a company's name, about description, and website URL when available.
The Railway Technology API is a managed, monitored endpoint for railway-technology.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when railway-technology.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official railway-technology.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor breaking railway industry news by polling
get_latest_newsand storing new articles by date. - Build a sector-specific news feed for rolling stock or high-speed rail using
get_news_by_sector. - Track AI and cybersecurity coverage in the rail sector via
get_news_by_themewith relevant theme slugs. - Research railway infrastructure projects by region using
list_projectswith theregionfilter. - Enrich a B2B CRM with railway company backgrounds by pulling
aboutandwebsitefromget_company_profile. - Run keyword searches across news, projects, and companies simultaneously using
search_news. - Aggregate full article text for NLP or summarization pipelines using
get_news_articlebody fields.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does railway-technology.com have an official developer API?+
What does `get_project_details` return beyond the project name?+
description string containing the full project description text found on the project page. Structured metadata fields (such as investment value, status, or timeline) are not guaranteed as separate fields — the endpoint captures the description block and any metadata table content found on the page.Are all sector and theme slugs discoverable through the API?+
get_news_by_sector has verified working slugs including high-speed-railways, rolling-stock, and operations. get_news_by_theme supports slugs like artificial-intelligence, cloud, cybersecurity, robotics, and internet-of-things. There is no dedicated list-all-sectors or list-all-themes endpoint currently. You can fork this API on Parse and add an index endpoint to enumerate all available slugs.Does the API return contact details or financial data for companies?+
get_company_profile returns name, about text, and a website URL when present on the profile page. Contact details, revenue figures, or employee counts are not exposed. You can fork this API on Parse and revise get_company_profile to capture additional fields if they appear on those pages.How does pagination work across the news endpoints?+
get_latest_news, get_news_by_sector, and get_news_by_theme endpoints all accept an optional page integer parameter. Responses include a page field confirming the current page. There is no total_pages or total_results field in the response, so callers should increment the page counter until an empty articles array is returned.