{ "id": "1952101749090985028", "hourlyBudgetMin": { "rawValue": "25.0", "currency": "USD", "displayValue": "25.0" }, "hourlyBudgetMax": { "rawValue": "47.0", "currency": "USD", "displayValue": "47.0" }, "ciphertext": "~021952101749090985028", "title": "Senior Developer for Internal Meta Ads Automation Tool", "description": "Meta Ads API Developer for Internal Creative Automation Tool\n\nAbout Us\nBINA is a high-performance marketing group scaling lead generation campaigns across Meta. We’re building an internal tool to streamline static ad production, deployment, and creative testing. We’re looking for a technical partner who has already built robust systems on top of Meta’s Marketing API and understands how to move fast, clean, and with a strong sense of ownership.\n\nWhat You’ll Be Responsible For\n\t•\tUsing Meta’s Marketing API to:\n\t•\tExtract Campaigns, Ad Sets, and Ads\n\t•\tClone and create new Ad Creatives, Ad Images, and Ads\n\t•\tManaging asset libraries, permissions, and creative uploads using AdImage, AdCreative, and Ad objects\n\t•\tHandling token authentication (system user, access tokens, long-lived tokens) and app review requirements\n\t•\tEnsuring proper creative upload and review flow for compliance\n\t•\tSupporting creative rotation at scale using batch requests\n\t•\tBuilding lightweight endpoints or worker scripts to connect with our automation system\n\t•\tSetting up robust error handling, retries, and clear logging for success/failures in ad creation\n\t•\tNaming conventions and metadata tagging that support downstream performance analysis\n\nMust-Have Experience\n\t•\tProduction-level use of Meta’s Marketing API: you’ve created and launched ads programmatically, not just pulled reports\n\t•\tManaging creative approvals and troubleshooting rejections\n\t•\tHandling token refresh, app review, and system user permissions under a Business Manager\n\t•\tStrong fundamentals in async processing, queues, and rate limit management\n\t•\tAble to pair-program / co-build in real time (“vibe coding”)\n\t•\tComfortable working in Node.js or Python (FastAPI preferred)\n\nNice to Have\n\t•\tInsights API experience for reporting rollups\n\t•\tExperience with Conversions API setup\n\t•\tSlack webhook or app integrations\n\t•\tFamiliarity with image storage (e.g., S3 or Cloudinary)\n\t•\tExperience building tools for media buyers or marketers\n\nWho You Are\n\t•\tYou’ve already built Meta Ads automation tools or dashboards from scratch\n\t•\tYou can explain exactly which Marketing API objects you’ve worked with\n\t•\tYou know how to debug creative rejection errors, rate limits, and token failures\n\t•\tYou speak our language: you know what CTR, CPL, and creative fatigue mean\n\t•\tYou like building fast with minimal meetings, strong documentation, and async progress\n\nTo Apply\nStart your message with “StaticScale 2025” or it will be skipped.\n\nInclude in your proposal:\n\t1.\tSpecific examples (repo/code sample) of Meta Marketing API work\n\t2.\tDescription of a tool or workflow you built that used the API to create ads\n\t3.\tList of Marketing API objects you’ve used\n\t4.\tHow you handle rate limits, retries, and idempotency\n\t5.\tHow you manage access tokens and Business Manager connections\n\t6.\tYour hourly rate and weekly availability\n\t7.\tOptional: Loom video walking through one of your past builds\n\nWe’re hiring for someone who’s done this before. Please do not apply if you’re learning the Meta API for the first time. This is not a generic dev job — we need real experience with Meta’s ad infrastructure.", "createdDateTime": "2025-08-03T20:18:20+0000", "duration": "SEMESTER", "durationLabel": "3 to 6 months", "engagement": "Less than 30 hrs/week", "amount": { "rawValue": "0.0", "currency": "USD", "displayValue": "0.0" }, "recordNumber": "1021063615", "experienceLevel": "EXPERT", "category": "web_mobile_software_dev", "subcategory": "web_development", "freelancersToHire": 1, "relevance": { "id": "0", "effectiveCandidates": 0, "recommendedEffectiveCandidates": 0, "uniqueImpressions": 0, "publishTime": null, "hoursInactive": 0 }, "enterprise": false, "relevanceEncoded": "{\"position\":\"2318\"}", "totalApplicants": 14, "preferredFreelancerLocation": null, "preferredFreelancerLocationMandatory": false, "premium": false, "clientNotSureFields": null, "clientPrivateFields": null, "applied": false, "publishedDateTime": "2025-08-03T20:18:20+0000", "renewedDateTime": null, "occupations": { "category": { "id": "531770282580668418", "prefLabel": "Web, Mobile & Software Dev" }, "subCategories": null, "occupationService": null }, "job": { "id": "1952101749090985028", "workFlowState": { "closeResult": null, "status": "ACTIVE" }, "activityStat": { "applicationsBidStats": { "avgRateBid": { "rawValue": "36.26470588235294", "currency": "USD", "displayValue": "36.26470588235294" }, "minRateBid": { "rawValue": "20.0", "currency": "USD", "displayValue": "20.0" }, "maxRateBid": { "rawValue": "60.0", "currency": "USD", "displayValue": "60.0" }, "avgInterviewedRateBid": { "rawValue": "35.166666666666664", "currency": "USD", "displayValue": "35.166666666666664" } }, "jobActivity": { "lastClientActivity": "2025-08-04T04:32:29.703Z", "totalRecommended": 1, "invitesSent": 14, "totalInvitedToInterview": 9, "totalHired": 0, "totalUnansweredInvites": 7, "totalOffered": 0 } }, "classification": { "category": { "id": "531770282580668418", "ontologyId": "upworkOccupation:webmobileandsoftwaredev", "type": [ "OCCUPATION" ], "entityStatus": "ACTIVE", "preferredLabel": "Web, Mobile & Software Dev", "definition": null, "createdDateTime": "2018-08-20T19:39:33+0000", "modifiedDateTime": "2023-12-19T19:18:21+0000" }, "subCategory": { "id": "531770282584862733", "ontologyId": "upworkOccupation:webdevelopmentsubcategory", "type": [ "OCCUPATION" ], "entityStatus": "ACTIVE", "preferredLabel": "Web Development", "definition": null, "createdDateTime": "2018-09-24T11:14:40+0000", "modifiedDateTime": "2023-07-10T17:01:25+0000" } } }, "client": { "memberSinceDateTime": null, "totalHires": 76, "totalPostedJobs": 135, "totalSpent": { "rawValue": "12846.44", "currency": "USD", "displayValue": "12846.44" }, "verificationStatus": "VERIFIED", "location": { "city": "Los Angeles", "country": "United States", "timezone": "America/Los_Angeles", "state": "CA", "offsetToUTC": "Americas" }, "totalReviews": 36, "totalFeedback": 4.97, "companyRid": "0", "companyName": null, "edcUserId": "0", "lastContractPlatform": null, "lastContractRid": "0", "lastContractTitle": null, "hasFinancialPrivacy": false }, "activityStat": { "jobActivity": { "lastClientActivity": "2025-08-04T04:32:29.703Z", "invitesSent": 14, "totalInvitedToInterview": 9, "totalHired": 0, "totalUnansweredInvites": 7, "totalOffered": 0, "totalRecommended": 1 } } }