trueset

Pricing

Start free, with no sign up. When you ship, pick a plan by how many requests you need. Every paid plan includes every dataset, field and format.

Starter

For one product in production.

₦5,000/ month

₦166.67 per 1,000 requests if you use the full allowance

Subscribe
  • 1,000 requests a day
  • 60 requests a minute
  • Up to 500 records per page
  • Email support

Growth

For a product that has outgrown Starter.

₦15,000/ month

₦200.00 per 1,000 requests if you use the full allowance

Subscribe
  • 2,500 requests a day
  • 120 requests a minute
  • Up to 500 records per page
  • Email support
Free to try

Use the API without a key or an account: 20 requests a day, 5 a minute, JSON and core fields from the free datasets, which include states, LGAs, institutions, banks, phone prefixes and public holidays. That is enough to try the endpoints and see the data. Wards, polling units, health facilities, boundaries, population, exchange rates, crypto prices and other formats come with a plan.

Try it now
Research and non-profit

Universities, research institutes and non-profits get every dataset, field and format, priced per project: 2,500 requests a day, 120 a minute, and bulk export by arrangement. Tell us about your project.

Apply for research pricing

Prices don't include tax. Pay monthly by card, bank transfer or USSD through Paystack. Cancel any time from your account page.

Which plan fits?

Each page of results is one request, so fetching all 774 LGAs at 500 per page takes two.

2,000
Recommended Starter

₦5,000 a month covers up to 1,000 requests a day.

Subscribe

Every paid plan includes

Every dataset

Including the ones that need a key: wards, polling units, electoral areas, health facilities, LGA boundaries, population, exchange rates and crypto prices.

Every field

Coordinates, centroids, sources and retrieval dates, facility ownership and level, institution websites.

Four formats

JSON, CSV, GeoJSON and Parquet from the same endpoints, up to 500 records per page.

Change feed and history

See every change to a record and keep your own copy up to date.

Provenance

Source, method, verifier and version on every record, and a sources list to cite.

Published uptime

We check the API every minute and show 90 days of results on the status page.

What people build with it

Address and location forms

State, LGA and ward pickers that stay current, and /v1/locate to turn a coordinate into an LGA.

Health and service finders

Over 60,000 health facilities in every state, with ownership and level, and coordinates for most of them.

Onboarding and KYC checks

Check that a customer's state and LGA are real and match each other.

Research and reporting

Population by state and LGA, joined to boundaries, exported as Parquet or GeoJSON.

Compare plans in detail

Rate limits and access by plan
Limit No key Starter Growth Business
Rate limits
Key required No Yes Yes Yes
Requests per minute 5 60 120 300
Requests per day 20 1,000 2,500 5,000
Maximum page size 50 500 500 500
Datasets
LGA boundaries No Yes Yes Yes
Wards No Yes Yes Yes
Health facilities No Yes Yes Yes
Population No Yes Yes Yes
Senatorial districts No Yes Yes Yes
Federal constituencies No Yes Yes Yes
Polling units No Yes Yes Yes
Exchange rates No Yes Yes Yes
Crypto prices No Yes Yes Yes
Geopolitical zones Yes Yes Yes Yes
States Yes Yes Yes Yes
Local government areas Yes Yes Yes Yes
Tertiary institutions Yes Yes Yes Yes
Banks Yes Yes Yes Yes
Phone prefixes Yes Yes Yes Yes
Public holidays Yes Yes Yes Yes
Countries Yes Yes Yes Yes
Airports Yes Yes Yes Yes
Fields
State and LGA centroids Withheld Included Included Included
Source and retrieval date Withheld Included Included Included
Institution website and founding year Withheld Included Included Included
Identifiers, names and codes Included Included Included Included
Formats
JSON Yes Yes Yes Yes
CSV No Yes Yes Yes
GeoJSON No Yes Yes Yes
Parquet No Yes Yes Yes
Changes
Change feed Yes Yes Yes Yes
Record history No Yes Yes Yes

Using the data

Storing results
Allowed, for your own application or analysis.
Redistribution
Not allowed. You cannot resell, sublicense or mirror the data. See the terms.
Bulk extraction
Not allowed through systematic requests. Ask about bulk export on the Research plan instead.
Over the limit
You get a 429 with a Retry-After header saying when to try again. You are never charged for it.

Questions

Can't find your answer? Email hello@timileyin.dev.

Can I use the API without a plan?

Yes, to try it out. Without a key you get 20 requests a day, JSON only and the core fields, with no support. For a live product you need a plan.

What does a plan add?

Higher rate limits, the datasets that need a key (wards, polling units, electoral areas, health facilities, LGA boundaries, population, exchange rates and crypto prices), every field including sources, and CSV, GeoJSON and Parquet.

What counts as a request?

Every call to /v1 counts, including each page of a list. Calls to /healthz and the status endpoints are free.

How do I see how many requests I have left?

Every response carries RateLimit headers with your limit, how many requests are left and when it resets.

What happens when I hit a limit?

You get a 429 response with a Retry-After header saying how long to wait. Daily limits reset at 00:00 UTC. You are never charged for refused requests.

Can I store the data?

Yes, for your own application or analysis.

Can I redistribute the data?

No. You can't resell, share, mirror or bulk-copy the data, or use it to build another dataset or API. The compiled dataset, codes and API belong to Shipyard Systems.

How do I subscribe?

Create an account, choose a plan on your account page and pay by card, bank transfer or USSD through Paystack. Your plan starts as soon as the payment goes through and renews each month.

How do I change or cancel a plan?

Both are on your account page. A new plan starts straight away. If you cancel, you keep your plan until the end of the month you paid for, then move to the free plan.

Is there an SLA?

Not yet. We check uptime every minute and publish 90 days of results on the status page.

How do I revoke a key?

From your account page. It stops working straight away.

Make your first request in under a minute