Fair enough, I'm actually not scraping it on any automated cycle currently, I just manually copied the JSON from their site to get some ships on the map.
There's a few live ship tracking APIs I considered but they are expensive or their free offering just straight up didn't work. I sent a few an email if they would consider sponsoring the project, no replies yet.
- AISStream.io — https://aisstream.io — Down/not working
- DataDocked — https://datadocked.com — Ran out of credits on a single failed request
- VesselFinder — https://www.vesselfinder.com/realtime-ais-data — Enterprise contact form, asked if they wanted to sponsor in exchange for a link
- MarineTraffic — https://www.marinetraffic.com, their API is like an enterprise contact form, same as above, waiting for response.
That’s actually a great find, this page[1] from them I found seems to have more recent data than I’ve otherwise been able to find. I’ll reach out to them to see if they can provide some data to power my site as I don’t like the current setup of old data and prediction market odds. Thanks!
Their APIs are protected by cloudflare, I didn't want to circumvent that. Also I dont really want to make a chrome extension or have a browster tab open, if that's what you meant? I've already made a cron style agent framework[1] so that's what I'd probably reach for since they can actually open the browser and inspect the network traffic to grab the json.
I think I was just spit-balling what would be possible, rather than what I intend to do. As mentioned elsewhere I'm hoping to get an API key from one the data providers, I even reached out to the api behind marinetraffic.com, https://www.kpler.com/product/maritime/data-services to see if they would sponsor the project.
This was just something I built on a whim, but I appreciate your comment and took it to heart!
So if it's under 25% of the prior year's crossing it goes to NO, otherwise it's counted as open.
The update cadence kinda sucks because I didn't spring for the $200 a month live ship tracking data, so I'm using https://portwatch.imf.org/pages/cb5856222a5b4105adc6ee7e880a... which lags by 4 days which isn't great for a site like this, but was fine for me on a little side project. Open to other data sources or ideas, of if anyone wants to sponsor an API key (I did reach out to a few vendors already if they would give the project api key in exchange for a link to their site).
The original idea was to track ships and see how many crossed the strait but as mentioned above I didn't find any free sources so I went with what I did.
So the announcement said the API works with the new model, so I updated my Golang SDK grail (https://github.com/montanaflynn/grail) to use but it returns a 500 server error when you try to use it, and if you change to a completely unknown model it's not listed in the available models:
POST "https://api.openai.com/v1/responses": 500 Internal Server Error {
"message": "An error occurred while processing your request. You can retry your request, or contact us through our help center at help.openai.com if the error persists. Please include the request ID req_******************* in your message.",
"type": "server_error",
"param": null,
"code": "server_error"
}
POST "https://api.openai.com/v1/responses": 400 Bad Request {
"message": "Invalid value: 'blah'. Supported values are: 'gpt-image-1' and 'gpt-image-1-mini'.",
"type": "invalid_request_error",
"param": "tools[0].model",
"code": "invalid_value"
}
Yeah I just tried it and got a 500 server error with no details as to why:
POST "https://api.openai.com/v1/responses": 500 Internal Server Error {
"message": "An error occurred while processing your request. You can retry your request, or contact us through our help center at help.openai.com if the error persists. Please include the request ID req_******************* in your message.",
"type": "server_error",
"param": null,
"code": "server_error"
}
Interestingly if you change to request the model foobar you get an error showing this:
POST "https://api.openai.com/v1/responses": 400 Bad Request {
"message": "Invalid value: 'blah'. Supported values are: 'gpt-image-1' and 'gpt-image-1-mini'.",
"type": "invalid_request_error",
"param": "tools[0].model",
"code": "invalid_value"
}
I made this app to scratch an itch of mine caused by flakey ethernet connection through my dock. Fairly often my internet connection falls back to wifi instead of ethernet though my dock. There's no built-in menu bar icon I could find to show ethernet connection status and opening the network pane in system settings was tiresome. So I decided to make my first mac app!
Claude code wrote all the code, openai generated the app icon. I wrote a small golang program to take the 1024x1024 png from openai and resize/rename it to the expected iconset format and json file.
This was a fun experiment, I don't think there's ever been a time where people could so easily create native applications!
There's a few live ship tracking APIs I considered but they are expensive or their free offering just straight up didn't work. I sent a few an email if they would consider sponsoring the project, no replies yet.