Vyra Intercity Prices API
Endpoints Auth Live Tester

Contents

  • Overview
  • Base URL
  • Authentication
  • Endpoints
  • → /api/search
  • → /api/transport
  • → /api/states
  • → /api/companies
  • → /api/routes
  • Data Schemas
  • Code Examples
  • Errors
  • Rate Limits
  • Support

Intercity Prices API

Real-time Nigerian intercity transport data — bus companies, terminal locations, route coverage, and verified direct fares across 36 states and the FCT.

Companies

40+

Coverage

37

36 states + FCT

Try it live

Open API Tester →

Base URL

https://www.intercityprices.com.ng/api

HTTPS only. HTTP requests are rejected.

Authentication

🔑 API Key Required

Every request must include your API key in the x-api-key header.

Header Format

x-api-key: vyra_live_yourkey_xxxxxxxxxx

Complete Example

curl -H "x-api-key: vyra_live_yourkey_xxxxxxxxxx" \
"https://www.intercityprices.com.ng/api/search?q=Lagos"

Without a Key

Scenario Response
No key header 401 Missing API key
Invalid key 403 Invalid or revoked
Valid key 200 Success

Getting a Key

API keys are issued per client. Message us on WhatsApp or email with your company name and use case.

Testing without a key: use our hosted Live API Tester before requesting a key.

Endpoints

GET /api/search

Search by state name, company name, or route keyword. Returns matching states, companies, and routes.

Query Parameters

Name Type Required Description
q string Yes State, company, or route fragment
attribute string No Filter by service attribute

Example

GET /api/search?q=Lagos

Response

{
  "query": "lagos",
  "results": {
    "states": [
      {
        "name": "Lagos",
        "companies": ["ABC Transport", "God is Good Motors"],
        "majorTerminals": [
          {
            "name": "Jibowu Terminal",
            "address": "22, Ikorodu Road, Jibowu, Yaba, Lagos",
            "phone": "08139862090"
          }
        ]
      }
    ],
    "companies": [],
    "routes": [
      {
        "route": "Lagos-Onitsha",
        "prices": {
          "ABC Transport": 29120,
          "GUO Transport": 35490
        }
      }
    ]
  },
  "totalFound": 12
}
GET /api/transport

Returns the complete dataset — all companies, terminals, states, and route prices in a single payload.

Query Parameters (Optional)

Name Type Description
state string Filter to a single state
company string Filter to a single company
Recommended: fetch once, cache locally, refresh hourly.
GET /api/states

All states with active operators, or one state when filtered.

Query Parameters (Optional)

Name Type Description
state string Return only this state
GET /api/companies

All companies, or one company when filtered.

Query Parameters (Optional)

Name Type Description
company string Return only this company
GET /api/routes

Route prices between states — all routes, or one when filtered.

Query Parameters (Optional)

Name Type Description
route string Full key (e.g., Lagos-Abuja)
from + to string Origin & destination

Response

{
  "route": "Lagos-Abuja",
  "from": "Lagos",
  "to": "Abuja",
  "prices": {
    "ABC Transport": 31850,
    "God is Good Motors": 56900,
    "GUO Transport": 30030
  }
}

Data Schemas

Company Object

{
  "id": "abc-transport",
  "name": "ABC Transport Plc",
  "image": "https://i.ibb.co/5hXDcq5/images-7.png",
  "states": ["Lagos", "Abuja", "Rivers"],
  "terminals": {
    "Lagos": [
      { "name": "Jibowu Terminal", "address": "...", "phone": "..." }
    ]
  },
  "basePrice": 23904,
  "serviceAttributes": ["Comfort", "Safety", "Quick"]
}

State Object

{
  "companies": ["ABC Transport", "God is Good Motors"],
  "majorTerminals": [
    {
      "name": "Jibowu Terminal",
      "address": "22, Ikorodu Road, Jibowu, Yaba, Lagos",
      "phone": "08139862090"
    }
  ]
}

Code Examples

JavaScript

const res = await fetch(
  'https://www.intercityprices.com.ng/api/search?q=Lagos',
  {
    headers: { 'x-api-key': 'vyra_live_yourkey_xxxxxxxxxx' }
  }
);
const data = await res.json();

data.results.states.forEach(state => {
  console.log(state.name, '→', state.companies.length);
});

Python

import requests

response = requests.get(
    "https://www.intercityprices.com.ng/api/search",
    params={"q": "Lagos"},
    headers={"x-api-key": "vyra_live_yourkey_xxxxxxxxxx"},
    timeout=10
)
response.raise_for_status()
for state in response.json()["results"]["states"]:
    print(state["name"])

cURL

curl -H "x-api-key: vyra_live_yourkey_xxxxxxxxxx" \
     "https://www.intercityprices.com.ng/api/search?q=Lagos"

Error Handling

Status Meaning Resolution
200OKSuccess
400Bad RequestMissing parameter
401UnauthorizedMissing API key
403ForbiddenInvalid or revoked key
404Not FoundResource missing
405Method Not AllowedOnly GET is supported
429Rate LimitedBack off and retry
500Server ErrorRetry

Rate Limits

Requests / Minute

60

Burst

20

Need higher limits? Message us on WhatsApp.

Support

Need an API key, higher rate limits, or have a question? Reach out directly.

Chat on WhatsApp Open API Tester
© 2026 Vyra Technologies · Intercity Prices API